decocms 4.150.19 → 4.150.21
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-DlSYUhhJ.js → AlertCircle-BaA3X0Vc.js} +1 -1
- package/dist/client/assets/{AreaChart-Bug3Ayx7.js → AreaChart-B4pcuH23.js} +1 -1
- package/dist/client/assets/{ArrowUp-C6IdQ4Rw.js → ArrowUp-Df4rbgne.js} +1 -1
- package/dist/client/assets/{ArrowUpRight-2UBzQU8F.js → ArrowUpRight-fq20wgvL.js} +1 -1
- package/dist/client/assets/{Check-C2SHqL1z.js → Check-DdyKCl8O.js} +1 -1
- package/dist/client/assets/{CheckCircle-DKn0NYt4.js → CheckCircle-IiUO6eKZ.js} +1 -1
- package/dist/client/assets/{ChevronDown-Cn6ogkEs.js → ChevronDown-BSVV4L9A.js} +1 -1
- package/dist/client/assets/{ChevronRight-DFFYZU4j.js → ChevronRight-CSgj0z6i.js} +1 -1
- package/dist/client/assets/{ChevronUp-DhTMlsX_.js → ChevronUp-GR0-Yt4d.js} +1 -1
- package/dist/client/assets/{Copy01-DdAbCNOp.js → Copy01-Cv0Vuqbe.js} +1 -1
- package/dist/client/assets/{CpuChip01-DjJbFGcN.js → CpuChip01-UMJdnf1a.js} +1 -1
- package/dist/client/assets/{DotsVertical-DbiSyDeJ.js → DotsVertical-OBlENp_a.js} +1 -1
- package/dist/client/assets/{Eye-CAJuwNcI.js → Eye-CkjEvMwH.js} +1 -1
- package/dist/client/assets/{FilterLines-5mK4tkWD.js → FilterLines-Ca7W3tHb.js} +1 -1
- package/dist/client/assets/{HardDrive-0rFPC5TH.js → HardDrive-B91rzidb.js} +1 -1
- package/dist/client/assets/{Key01-zOjc9MTI.js → Key01-DVGzNfoY.js} +1 -1
- package/dist/client/assets/{LayoutLeft-BU786hWD.js → LayoutLeft-Ciug-ep8.js} +1 -1
- package/dist/client/assets/{LinkExternal01-CEtC-Y1R.js → LinkExternal01-CbfqV87q.js} +1 -1
- package/dist/client/assets/{LogOut01-BwC-5Qgg.js → LogOut01-B0JVxGo4.js} +1 -1
- package/dist/client/assets/{Monitor01-DliyLag8.js → Monitor01-CEdUOtdj.js} +1 -1
- package/dist/client/assets/{Palette-7rfbgqXo.js → Palette-DgmLnO_l.js} +1 -1
- package/dist/client/assets/{Play-CESoZt50.js → Play-DcSuTxiG.js} +1 -1
- package/dist/client/assets/{Plus-ClptGdKW.js → Plus-DUvbS-Yy.js} +1 -1
- package/dist/client/assets/{SearchLg-BjGhynue.js → SearchLg-CSWY8viA.js} +1 -1
- package/dist/client/assets/{SearchMd-CaUeXTov.js → SearchMd-D0poZQV_.js} +1 -1
- package/dist/client/assets/{Settings02-DFgk8xib.js → Settings02-Sy5kNpSu.js} +1 -1
- package/dist/client/assets/{Shield01-DZGUsmxL.js → Shield01-Bcql6hT4.js} +1 -1
- package/dist/client/assets/{Star01-DdohD5Pt.js → Star01-2mO5G0Xw.js} +1 -1
- package/dist/client/assets/{Stars01-BFiXE03I.js → Stars01-DqIThrOc.js} +1 -1
- package/dist/client/assets/{Stars02-5-YOV7bU.js → Stars02-cKtwD-F2.js} +1 -1
- package/dist/client/assets/{Sun-BivegFnN.js → Sun-DsnsEGXF.js} +1 -1
- package/dist/client/assets/{SwitchHorizontal01-gfwGyIBw.js → SwitchHorizontal01-BwAs_KcG.js} +1 -1
- package/dist/client/assets/{Tool01-NPc3h9k6.js → Tool01-D2fd-Mg5.js} +1 -1
- package/dist/client/assets/{Tool02-Ce6Zs6Sn.js → Tool02-C17Y4pBP.js} +1 -1
- package/dist/client/assets/{Trash01-BQyhs2bx.js → Trash01-BiVOd2DS.js} +1 -1
- package/dist/client/assets/{TrendUp01-d5BuhRAe.js → TrendUp01-D1GkdBOV.js} +1 -1
- package/dist/client/assets/{Upload01-Dvnl-BDq.js → Upload01-k2Sn0RXQ.js} +1 -1
- package/dist/client/assets/{User01-CAUBoJic.js → User01-cC3unvvx.js} +1 -1
- package/dist/client/assets/{Users01-CtxuIY4r.js → Users01-BdNSg6CC.js} +1 -1
- package/dist/client/assets/{Users03-Bh6lOZcY.js → Users03-CqyDxwt6.js} +1 -1
- package/dist/client/assets/{X-pcpfoSUj.js → X-Baqkpp1k.js} +1 -1
- package/dist/client/assets/{XCircle-aY4lZd4c.js → XCircle-8Wd2-AR5.js} +1 -1
- package/dist/client/assets/{XClose-BkVqInnI.js → XClose-CBFLmbVP.js} +1 -1
- package/dist/client/assets/{Zap-BB732fZe.js → Zap-C4qF8Cn-.js} +1 -1
- package/dist/client/assets/{ZapSquare-CY-TRmUj.js → ZapSquare-BH7ie7zg.js} +1 -1
- package/dist/client/assets/{access-gate-CcNxjqvs.js → access-gate-CxXZPkIw.js} +1 -1
- package/dist/client/assets/{add-section-modal-BqjxY4rN.js → add-section-modal-C7ktQCug.js} +1 -1
- package/dist/client/assets/{agent-icon-C9EboqQo.js → agent-icon-q4cV7U67.js} +1 -1
- package/dist/client/assets/{agents-list-Dm8MNhb3.js → agents-list-UZwnNOjT.js} +1 -1
- package/dist/client/assets/{ai-providers-ClSebpyq.js → ai-providers-Cput0kVL.js} +1 -1
- package/dist/client/assets/{alert-C-LmaOBK.js → alert-DjeIAXMV.js} +1 -1
- package/dist/client/assets/{alert-dialog-BssDvvMF.js → alert-dialog-DIwINRgW.js} +1 -1
- package/dist/client/assets/{app-editor-BkDNHhm0.js → app-editor-DdSH3pAD.js} +1 -1
- package/dist/client/assets/{auth-DZmQnSls.js → auth-FouChJbb.js} +1 -1
- package/dist/client/assets/{auth-catchall-Dzgjob5l.js → auth-catchall-6cph4qce.js} +1 -1
- package/dist/client/assets/auth-entry-i0rNcujn.js +1 -0
- package/dist/client/assets/{auth-split-layout-DWihF_-L.js → auth-split-layout-3qPwGE8Z.js} +1 -1
- package/dist/client/assets/{authenticate-and-persist-oauth-BVLOVyHO.js → authenticate-and-persist-oauth-Dx2DT3YD.js} +1 -1
- package/dist/client/assets/{automation-list-row-ClyJypF9.js → automation-list-row-Brn7k31U.js} +1 -1
- package/dist/client/assets/{automation-runs-Iq3rwpg7.js → automation-runs-CP1cxXFo.js} +2 -2
- package/dist/client/assets/{automations-Dc1-M4pc.js → automations-BlJndOBe.js} +1 -1
- package/dist/client/assets/{avatar-CjXOLD2i.js → avatar-Du8HEobV.js} +1 -1
- package/dist/client/assets/{badge-DTMILv2r.js → badge-swCoKQnC.js} +1 -1
- package/dist/client/assets/{block-document-WgiJXWkX.js → block-document-DiB0SOp5.js} +1 -1
- package/dist/client/assets/{brand-context-DZrzTO2e.js → brand-context-C8l7XNKr.js} +1 -1
- package/dist/client/assets/{buckets-6YXBaInP.js → buckets-Bs0sTGAu.js} +1 -1
- package/dist/client/assets/{bulk-category-panel-D3jY7E_o.js → bulk-category-panel-DE5pUVzi.js} +1 -1
- package/dist/client/assets/{calendar-C8za-BWH.js → calendar-BZcldUNV.js} +1 -1
- package/dist/client/assets/{capability-load-error-CtOZ-Swh.js → capability-load-error-CqwI-nav.js} +1 -1
- package/dist/client/assets/{card-DqPRLWMO.js → card-9OUE6Bzl.js} +1 -1
- package/dist/client/assets/{category-editor-CeqgNkSk.js → category-editor-JK7DojfI.js} +1 -1
- package/dist/client/assets/{chat-context-B_wQ6evS.js → chat-context-DYO1ODPB.js} +1 -1
- package/dist/client/assets/{checkbox-DTtudZuO.js → checkbox-Dd_rqLvT.js} +1 -1
- package/dist/client/assets/{cli-auth-success-CMhyp_Zr.js → cli-auth-success-CFsjKhGa.js} +1 -1
- package/dist/client/assets/{collection-detail-C6adjump.js → collection-detail-D0rtc2gf.js} +1 -1
- package/dist/client/assets/{collection-display-button-XfcxRJgX.js → collection-display-button-iD10GGdW.js} +1 -1
- package/dist/client/assets/{collection-search-BypSOIoH.js → collection-search-5SFjfCC8.js} +1 -1
- package/dist/client/assets/{collection-table-wrapper-Dt68wYfR.js → collection-table-wrapper-fW-dsmLE.js} +1 -1
- package/dist/client/assets/{collection-tabs-Dz9VyTIu.js → collection-tabs-DnykrgWW.js} +1 -1
- package/dist/client/assets/{command-CPMlZIjd.js → command-CDVbjOi5.js} +1 -1
- package/dist/client/assets/{commerce-onboarding-B8gWc7bn.js → commerce-onboarding-CAOuADZ6.js} +1 -1
- package/dist/client/assets/{companions-core-a9SF0m4Y.js → companions-core-6m5dy3es.js} +1 -1
- package/dist/client/assets/{connect-BzEB0VtU.js → connect-B_K53Vaa.js} +1 -1
- package/dist/client/assets/{connection-Czmc2tuv.js → connection-DhlrJlFw.js} +1 -1
- package/dist/client/assets/{connection-card-BB3fSDPW.js → connection-card-CzF-xjYn.js} +1 -1
- package/dist/client/assets/{connection-detail-vrPNxp5T.js → connection-detail-DmWTCewb.js} +1 -1
- package/dist/client/assets/{connection-form-helpers-ClYK3_mG.js → connection-form-helpers-DRviH-Au.js} +1 -1
- package/dist/client/assets/{connections-DZtxHEYZ.js → connections-DGvaZBx3.js} +1 -1
- package/dist/client/assets/{decopilot-sse-pool-Bs-tVvz6.js → decopilot-sse-pool-BXMXu1gQ.js} +1 -1
- package/dist/client/assets/{dialog-lmnhZbAE.js → dialog-C82H2S70.js} +1 -1
- package/dist/client/assets/{domain-settings-J25txbg1.js → domain-settings-DPn_9rd3.js} +1 -1
- package/dist/client/assets/{drawer-D_GDdd71.js → drawer-lnIGl-vb.js} +1 -1
- package/dist/client/assets/{dropdown-menu-CFAXuc0v.js → dropdown-menu-CRGAwBji.js} +1 -1
- package/dist/client/assets/{empty-state-8ilzCDbs.js → empty-state-BKzUesA7.js} +1 -1
- package/dist/client/assets/{extract-connection-data-BAifnWzb.js → extract-connection-data-B9TIJ0UC.js} +1 -1
- package/dist/client/assets/{file-explorer-DrVIjwMq.js → file-explorer-tNI79jXo.js} +1 -1
- package/dist/client/assets/{form-CRAasio0.js → form-DAiRK0vx.js} +1 -1
- package/dist/client/assets/{general-CAW-cEsK.js → general-CXtIEOrf.js} +1 -1
- package/dist/client/assets/{github-repo-picker-zbKMYosT.js → github-repo-picker-DUNQ1oJW.js} +1 -1
- package/dist/client/assets/{hooks-DwsLBuwO.js → hooks-Bom1QoTc.js} +1 -1
- package/dist/client/assets/{index-G-8OgRMW.js → index-2KxPRjw5.js} +7 -7
- package/dist/client/assets/{index-BWJ_-Xh2.js → index-BDQ6Ogmu.js} +5 -5
- package/dist/client/assets/{index-1UvSqm4I.js → index-B_kqSbsO.js} +1 -1
- package/dist/client/assets/{index-D7nd7n59.js → index-C-JAJ-o5.js} +1 -1
- package/dist/client/assets/{index-BFKuotW_.js → index-C_5SQGG6.js} +1 -1
- package/dist/client/assets/{index-IEBaTluN.js → index-D7cNsGmf.js} +3 -3
- package/dist/client/assets/{index-CczEp9IM.js → index-DK8HHLRp.js} +1 -1
- package/dist/client/assets/{index-By_AmIsM.js → index-Df7LGqDK.js} +1 -1
- package/dist/client/assets/{index-BFH8_Y33.js → index-Dv8k1EHh.js} +1 -1
- package/dist/client/assets/{index-DW9Agr8b.js → index-Z4CG7jJp.js} +1 -1
- package/dist/client/assets/{index-RiTJyK4Q.js → index-oBYlsJ_o.js} +1 -1
- package/dist/client/assets/{index-redirect-Ch7Nrj0f.js → index-redirect-Cj-NIgvU.js} +1 -1
- package/dist/client/assets/{input-BJT4p59F.js → input-BAuCATqg.js} +1 -1
- package/dist/client/assets/{integration-icon-3h0fRTkl.js → integration-icon-DKBuU8Fr.js} +1 -1
- package/dist/client/assets/{invite-member-dialog-CshBP-tC.js → invite-member-dialog-BiHY2r7m.js} +1 -1
- package/dist/client/assets/{label-DEUPAsEw.js → label-onkw7wrh.js} +1 -1
- package/dist/client/assets/{layout-BLNUkP51.js → layout-D8O9_Poo.js} +1 -1
- package/dist/client/assets/{login-MizHz_jd.js → login-B0j1yr6w.js} +1 -1
- package/dist/client/assets/{mcp-oauth-Db4hNN9v.js → mcp-oauth-95IH3VKT.js} +1 -1
- package/dist/client/assets/{members-l8zC-hr-.js → members-Y7A-UiF5.js} +1 -1
- package/dist/client/assets/{monaco-editor-BU7VpLqH.js → monaco-editor-CSUtCvVX.js} +1 -1
- package/dist/client/assets/{monitoring-stats-row-D0FDipm5.js → monitoring-stats-row-Dcug_wR7.js} +1 -1
- package/dist/client/assets/{multi-select-MuGZnRVq.js → multi-select-C68tqs9V.js} +1 -1
- package/dist/client/assets/{oauth-callback-BmBa3kc7.js → oauth-callback-CqH1tIve.js} +1 -1
- package/dist/client/assets/{oauth-callback-ai-provider-Ctjknw6y.js → oauth-callback-ai-provider-C0UAY-58.js} +1 -1
- package/dist/client/assets/{onboarding-CWrMv3B_.js → onboarding-2ZJYmqTH.js} +1 -1
- package/dist/client/assets/{org-layout-Du6e1Kd0.js → org-layout-qZcaYBLo.js} +1 -1
- package/dist/client/assets/{organization-choice-4c42IBvW.js → organization-choice-CduZOMP9.js} +1 -1
- package/dist/client/assets/{orgs-CihSY5Ex.js → orgs-DU0BEJAc.js} +1 -1
- package/dist/client/assets/{page-seo-form-BASC5n5J.js → page-seo-form-nxKDUI-6.js} +1 -1
- package/dist/client/assets/{popover-BPOX0Hzx.js → popover-x1qHvmwD.js} +1 -1
- package/dist/client/assets/{post-editor-DJey7B16.js → post-editor-BhfI7Odx.js} +1 -1
- package/dist/client/assets/{primitives-D6fK2zo-.js → primitives-DITXbj-2.js} +1 -1
- package/dist/client/assets/{profile-BILxxCCs.js → profile-Dl3k4wub.js} +1 -1
- package/dist/client/assets/project-app-view-CrBgtatz.js +1 -0
- package/dist/client/assets/record-editor-DUGdKTe8.js +1 -0
- package/dist/client/assets/{redirect-editor-BdUi3i3s.js → redirect-editor-BamLe0Vb.js} +1 -1
- package/dist/client/assets/registry-B4ci0gM-.js +2 -0
- package/dist/client/assets/{registry-layout-xgeSgS_-.js → registry-layout-Cfgh3Q9S.js} +1 -1
- package/dist/client/assets/{reports-ChDgqGgw.js → reports-2omVoMUm.js} +1 -1
- package/dist/client/assets/{require-capability-DeZjzvG5.js → require-capability-B1pg4EtO.js} +1 -1
- package/dist/client/assets/{required-auth-layout-DmCcpwr1.js → required-auth-layout-wB2bMMGI.js} +1 -1
- package/dist/client/assets/{reset-password-BMzkkaTE.js → reset-password-BmxFRY37.js} +1 -1
- package/dist/client/assets/{roles-GCbrcpl9.js → roles-ClU1umGx.js} +1 -1
- package/dist/client/assets/{search-input-BGWve8hu.js → search-input-DtCL1YcZ.js} +1 -1
- package/dist/client/assets/{secrets-CjWBoI95.js → secrets-B-dmTgLw.js} +1 -1
- package/dist/client/assets/{sections-editor-MgNWlsn6.js → sections-editor-DqY5dzLX.js} +1 -1
- package/dist/client/assets/{select-BPv9yhWd.js → select-DfQiZ-4J.js} +1 -1
- package/dist/client/assets/{select-model-td-EZ5fT.js → select-model-Clf7Hlwn.js} +1 -1
- package/dist/client/assets/{self-tool-result-C577LfVs.js → self-tool-result-BCgUr0ik.js} +1 -1
- package/dist/client/assets/{seo-editor-DSG8yNU8.js → seo-editor-CEUCMyKF.js} +1 -1
- package/dist/client/assets/{settings-layout-CALf7AqK.js → settings-layout-DJLSOlbv.js} +1 -1
- package/dist/client/assets/{settings-section-C0kg54gL.js → settings-section-BaFcIjo5.js} +1 -1
- package/dist/client/assets/{shell-controls-B2Hh7m6h.js → shell-controls-DIMDYHkk.js} +1 -1
- package/dist/client/assets/{shell-layout-DvaKHR0F.js → shell-layout-B56j-p5N.js} +1 -1
- package/dist/client/assets/{sidebar-B3TEJIxk.js → sidebar-DpVJgBAa.js} +1 -1
- package/dist/client/assets/{skeleton-6WFihZY6.js → skeleton-BtiEyhAl.js} +1 -1
- package/dist/client/assets/{spinner-Bog_L1J8.js → spinner-DPfrt4Tp.js} +1 -1
- package/dist/client/assets/{sso-C7ensYzW.js → sso-CICOFYfX.js} +1 -1
- package/dist/client/assets/{store-BxIhcrSd.js → store-BJgQ6scG.js} +1 -1
- package/dist/client/assets/store-registry-Di0pCo7I.js +2 -0
- package/dist/client/assets/{studio-tools-Acw1tHi6.js → studio-tools-CTJuN7Yy.js} +1 -1
- package/dist/client/assets/{switch-DIomMWOl.js → switch-DIwoxI1y.js} +1 -1
- package/dist/client/assets/{tab-id-t9DwJFBC.js → tab-id-DJIms9m1.js} +1 -1
- package/dist/client/assets/{table-4SpY1BTk.js → table-BbRTH9fF.js} +1 -1
- package/dist/client/assets/{tabs-DKXlBcXz.js → tabs-DKyQ4Qe1.js} +1 -1
- package/dist/client/assets/{textarea-BpBBQR8E.js → textarea-Y242n44c.js} +1 -1
- package/dist/client/assets/{toggle-group-CUODdYa_.js → toggle-group-BBsmjOfV.js} +1 -1
- package/dist/client/assets/{toolbar-DgjRZSnQ.js → toolbar-BaZp82JP.js} +1 -1
- package/dist/client/assets/{tooltip-B9wTF3aq.js → tooltip-CEu_we5y.js} +1 -1
- package/dist/client/assets/{use-ai-providers-PcwG8Cp4.js → use-ai-providers-B2nAOoUO.js} +1 -1
- package/dist/client/assets/{use-automations-C7OhRUcV.js → use-automations-irLGHKpI.js} +1 -1
- package/dist/client/assets/{use-autosave-DdZx2QhY.js → use-autosave-BAjK3u8R.js} +1 -1
- package/dist/client/assets/{use-capability-w8KqTXM4.js → use-capability-Y4a4cK2y.js} +1 -1
- package/dist/client/assets/{use-clock-tick-CobicVDs.js → use-clock-tick-kQx_nmDK.js} +1 -1
- package/dist/client/assets/{use-connection-VavB0C6a.js → use-connection-CvBcj0iA.js} +1 -1
- package/dist/client/assets/{use-copy-Dh4gLRwM.js → use-copy-POYUhIaM.js} +1 -1
- package/dist/client/assets/{use-create-virtual-mcp-RXRfzwuV.js → use-create-virtual-mcp-Df8fpCi4.js} +1 -1
- package/dist/client/assets/{use-debounced-autosave-De7BabWw.js → use-debounced-autosave-EvVOUA6S.js} +1 -1
- package/dist/client/assets/{use-debounced-value-BYiowHDi.js → use-debounced-value-IOz7dnNR.js} +1 -1
- package/dist/client/assets/{use-deco-credits-v6nyF6YO.js → use-deco-credits-CBOWsaT-.js} +1 -1
- package/dist/client/assets/{use-decopilot-events-Dpwv9K7h.js → use-decopilot-events-Dc8-pFMU.js} +1 -1
- package/dist/client/assets/{use-delete-connection-7C5oykm1.js → use-delete-connection-CxX7cCR_.js} +1 -1
- package/dist/client/assets/{use-deployment-admin-BZqJ-ctu.js → use-deployment-admin-ucDRDdNR.js} +1 -1
- package/dist/client/assets/{use-file-configs-DSwRkfhM.js → use-file-configs-BsCj6gUu.js} +1 -1
- package/dist/client/assets/{use-infinite-scroll-BeeHVBvb.js → use-infinite-scroll-ccrh4_KW.js} +1 -1
- package/dist/client/assets/{use-join-requests-DBSdL3kF.js → use-join-requests-DjYbXyL8.js} +1 -1
- package/dist/client/assets/{use-mcp-auth-status-B-sj5sZB.js → use-mcp-auth-status-vzmxIRHi.js} +1 -1
- package/dist/client/assets/{use-mcp-client-CN9F4rJC.js → use-mcp-client-DRwUSZdO.js} +1 -1
- package/dist/client/assets/{use-mcp-tools-CpoAeloT.js → use-mcp-tools-PCSBjtNq.js} +1 -1
- package/dist/client/assets/{use-members-CcoL_164.js → use-members-DjRi0Onl.js} +1 -1
- package/dist/client/assets/{use-mobile-CsgUGWeL.js → use-mobile-CLE626Yq.js} +1 -1
- package/dist/client/assets/{use-navigate-to-agent-DJz0Xu14.js → use-navigate-to-agent-CXMG3HNZ.js} +1 -1
- package/dist/client/assets/{use-org-auth-client-Dx3L9CFc.js → use-org-auth-client-BxtVWNiI.js} +1 -1
- package/dist/client/assets/{use-org-sso-BXR2O8Zw.js → use-org-sso-DBExuOVV.js} +1 -1
- package/dist/client/assets/{use-organization-roles-DDR6R1p7.js → use-organization-roles-DFLLP3Qo.js} +1 -1
- package/dist/client/assets/{use-organization-settings-BGULtPas.js → use-organization-settings-DKSNQ1_z.js} +1 -1
- package/dist/client/assets/{use-registry-connections-Cut79VZN.js → use-registry-connections-BRZCHKHD.js} +1 -1
- package/dist/client/assets/{use-secrets-BwX1AK3v.js → use-secrets-DfGoccAw.js} +1 -1
- package/dist/client/assets/{use-status-sounds-BAYX2hpP.js → use-status-sounds-DcgHuUFX.js} +1 -1
- package/dist/client/assets/{use-tags-weNKAUYZ.js → use-tags-DRM6xsgU.js} +1 -1
- package/dist/client/assets/{use-view-mode-BghlKtMr.js → use-view-mode-DvgBYhz6.js} +1 -1
- package/dist/client/assets/{use-virtual-mcp-DAFqjJdJ.js → use-virtual-mcp-D7SVi-2E.js} +1 -1
- package/dist/client/assets/useInfiniteQuery-BWd6o-wh.js +1 -0
- package/dist/client/assets/{useQueries-BRp6m0B1.js → useQueries-DVb_HjzV.js} +1 -1
- package/dist/client/assets/{useRouterState-DDtTYBra.js → useRouterState-CJ97gzOK.js} +1 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-DPyRMURT.js +1 -0
- package/dist/client/assets/{users-uwnrrHMH.js → users-CX6W_kiO.js} +1 -1
- package/dist/client/assets/{variant-calendar-D-VisYce.js → variant-calendar-BSUlgs-W.js} +1 -1
- package/dist/client/assets/{view-mode-toggle-6-wiVO49.js → view-mode-toggle-DULJqLEB.js} +1 -1
- package/dist/client/index.html +1 -1
- package/dist/server/cli.js +452 -452
- package/dist/server/migrate.js +34 -34
- package/dist/server/server.js +310 -310
- package/package.json +1 -1
- package/dist/client/assets/auth-entry-D5ixglik.js +0 -1
- package/dist/client/assets/project-app-view-BTTYDF6S.js +0 -1
- package/dist/client/assets/record-editor-cLhljAom.js +0 -1
- package/dist/client/assets/registry-MkdBZbPs.js +0 -2
- package/dist/client/assets/store-registry-C0l7_EX3.js +0 -2
- package/dist/client/assets/useInfiniteQuery-wwMkQW_z.js +0 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-DfQWovFc.js +0 -1
package/dist/server/migrate.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
var ke=Object.defineProperty;var $e=(t)=>t;function Xe(t,n){this[t]=$e.bind(null,n)}var i=(t,n)=>{for(var u in n)ke(t,u,{get:n[u],enumerable:!0,configurable:!0,set:Xe.bind(n,u)})};import{Migrator as Re,sql as Y}from"kysely";var wt={};i(wt,{up:()=>Qe,down:()=>Ze});import{sql as z}from"kysely";async function Qe(t){await t.schema.createTable("connections").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organizationId","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("createdById","text",(n)=>n.notNull().references("user.id").onDelete("cascade")).addColumn("name","text",(n)=>n.notNull()).addColumn("description","text").addColumn("icon","text").addColumn("appName","text").addColumn("appId","text").addColumn("connectionType","text",(n)=>n.notNull()).addColumn("connectionUrl","text",(n)=>n.notNull()).addColumn("connectionToken","text").addColumn("connectionHeaders","text").addColumn("oauthConfig","text").addColumn("metadata","text").addColumn("tools","text").addColumn("bindings","text").addColumn("status","text",(n)=>n.notNull().defaultTo("active")).addColumn("createdAt","text",(n)=>n.notNull().defaultTo(z`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(n)=>n.notNull().defaultTo(z`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("api_keys").addColumn("id","text",(n)=>n.primaryKey()).addColumn("userId","text",(n)=>n.notNull().references("user.id").onDelete("cascade")).addColumn("name","text",(n)=>n.notNull()).addColumn("hashedKey","text",(n)=>n.notNull().unique()).addColumn("permissions","text",(n)=>n.notNull()).addColumn("expiresAt","text").addColumn("remaining","integer").addColumn("metadata","text").addColumn("createdAt","text",(n)=>n.notNull().defaultTo(z`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(n)=>n.notNull().defaultTo(z`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("audit_logs").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organizationId","text").addColumn("userId","text",(n)=>n.references("user.id").onDelete("set null")).addColumn("connectionId","text",(n)=>n.references("connections.id").onDelete("set null")).addColumn("toolName","text",(n)=>n.notNull()).addColumn("allowed","integer",(n)=>n.notNull()).addColumn("duration","integer").addColumn("timestamp","text",(n)=>n.notNull().defaultTo(z`CURRENT_TIMESTAMP`)).addColumn("requestMetadata","text").execute(),await t.schema.createTable("oauth_clients").addColumn("id","text",(n)=>n.primaryKey()).addColumn("clientId","text",(n)=>n.notNull().unique()).addColumn("clientSecret","text").addColumn("clientName","text",(n)=>n.notNull()).addColumn("redirectUris","text",(n)=>n.notNull()).addColumn("grantTypes","text",(n)=>n.notNull()).addColumn("scope","text").addColumn("clientUri","text").addColumn("logoUri","text").addColumn("createdAt","text",(n)=>n.notNull().defaultTo(z`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("oauth_authorization_codes").addColumn("code","text",(n)=>n.primaryKey()).addColumn("clientId","text",(n)=>n.notNull().references("oauth_clients.clientId").onDelete("cascade")).addColumn("userId","text",(n)=>n.notNull().references("user.id").onDelete("cascade")).addColumn("redirectUri","text",(n)=>n.notNull()).addColumn("scope","text").addColumn("codeChallenge","text").addColumn("codeChallengeMethod","text").addColumn("expiresAt","text",(n)=>n.notNull()).addColumn("createdAt","text",(n)=>n.notNull().defaultTo(z`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("oauth_refresh_tokens").addColumn("token","text",(n)=>n.primaryKey()).addColumn("clientId","text",(n)=>n.notNull().references("oauth_clients.clientId").onDelete("cascade")).addColumn("userId","text",(n)=>n.notNull().references("user.id").onDelete("cascade")).addColumn("scope","text").addColumn("expiresAt","text").addColumn("createdAt","text",(n)=>n.notNull().defaultTo(z`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("downstream_tokens").addColumn("id","text",(n)=>n.primaryKey()).addColumn("connectionId","text",(n)=>n.notNull().references("connections.id").onDelete("cascade")).addColumn("userId","text",(n)=>n.references("user.id").onDelete("cascade")).addColumn("accessToken","text",(n)=>n.notNull()).addColumn("refreshToken","text").addColumn("scope","text").addColumn("expiresAt","text").addColumn("createdAt","text",(n)=>n.notNull().defaultTo(z`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(n)=>n.notNull().defaultTo(z`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_connections_organizationId").on("connections").column("organizationId").execute(),await t.schema.createIndex("idx_audit_logs_organizationId").on("audit_logs").column("organizationId").execute(),await t.schema.createIndex("idx_audit_logs_userId").on("audit_logs").column("userId").execute(),await t.schema.createIndex("idx_audit_logs_timestamp").on("audit_logs").column("timestamp").execute()}async function Ze(t){await t.schema.dropTable("downstream_tokens").execute(),await t.schema.dropTable("oauth_refresh_tokens").execute(),await t.schema.dropTable("oauth_authorization_codes").execute(),await t.schema.dropTable("oauth_clients").execute(),await t.schema.dropTable("audit_logs").execute(),await t.schema.dropTable("api_keys").execute(),await t.schema.dropTable("connections").execute()}var Kt={};i(Kt,{up:()=>Fe,down:()=>He});import{sql as ki}from"kysely";async function Fe(t){await t.schema.createTable("organization_settings").addColumn("organizationId","text",(n)=>n.primaryKey().references("organization.id").onDelete("cascade")).addColumn("modelsBindingConnectionId","text",(n)=>n.references("connections.id").onDelete("set null")).addColumn("createdAt","text",(n)=>n.notNull().defaultTo(ki`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(n)=>n.notNull().defaultTo(ki`CURRENT_TIMESTAMP`)).execute()}async function He(t){await t.schema.dropTable("organization_settings").execute()}var ct={};i(ct,{up:()=>Me,down:()=>Ye});async function Me(t){await t.schema.alterTable("connections").renameColumn("name","title").execute(),await t.schema.alterTable("connections").renameColumn("createdById","created_by").execute(),await t.schema.alterTable("connections").renameColumn("createdAt","created_at").execute(),await t.schema.alterTable("connections").renameColumn("updatedAt","updated_at").execute(),await t.schema.alterTable("connections").renameColumn("organizationId","organization_id").execute(),await t.schema.alterTable("connections").renameColumn("connectionType","connection_type").execute(),await t.schema.alterTable("connections").renameColumn("connectionUrl","connection_url").execute(),await t.schema.alterTable("connections").renameColumn("connectionToken","connection_token").execute(),await t.schema.alterTable("connections").renameColumn("connectionHeaders","connection_headers").execute(),await t.schema.alterTable("connections").renameColumn("oauthConfig","oauth_config").execute(),await t.schema.alterTable("connections").renameColumn("appName","app_name").execute(),await t.schema.alterTable("connections").renameColumn("appId","app_id").execute()}async function Ye(t){await t.schema.alterTable("connections").renameColumn("title","name").execute(),await t.schema.alterTable("connections").renameColumn("created_by","createdById").execute(),await t.schema.alterTable("connections").renameColumn("created_at","createdAt").execute(),await t.schema.alterTable("connections").renameColumn("updated_at","updatedAt").execute(),await t.schema.alterTable("connections").renameColumn("organization_id","organizationId").execute(),await t.schema.alterTable("connections").renameColumn("connection_type","connectionType").execute(),await t.schema.alterTable("connections").renameColumn("connection_url","connectionUrl").execute(),await t.schema.alterTable("connections").renameColumn("connection_token","connectionToken").execute(),await t.schema.alterTable("connections").renameColumn("connection_headers","connectionHeaders").execute(),await t.schema.alterTable("connections").renameColumn("oauth_config","oauthConfig").execute(),await t.schema.alterTable("connections").renameColumn("app_name","appName").execute(),await t.schema.alterTable("connections").renameColumn("app_id","appId").execute()}var pt={};i(pt,{up:()=>he,down:()=>Ae});async function he(t){await t.schema.createTable("organization_settings_new").addColumn("organizationId","text",(n)=>n.primaryKey().references("organization.id").onDelete("cascade")).addColumn("createdAt","text",(n)=>n.notNull()).addColumn("updatedAt","text",(n)=>n.notNull()).execute(),await t.insertInto("organization_settings_new").columns(["organizationId","createdAt","updatedAt"]).expression((n)=>n.selectFrom("organization_settings").select(["organizationId","createdAt","updatedAt"])).execute(),await t.schema.dropTable("organization_settings").execute(),await t.schema.alterTable("organization_settings_new").renameTo("organization_settings").execute()}async function Ae(t){await t.schema.createTable("organization_settings_new").addColumn("organizationId","text",(n)=>n.primaryKey().references("organization.id").onDelete("cascade")).addColumn("modelsBindingConnectionId","text",(n)=>n.references("connections.id").onDelete("set null")).addColumn("createdAt","text",(n)=>n.notNull()).addColumn("updatedAt","text",(n)=>n.notNull()).execute(),await t.insertInto("organization_settings_new").columns(["organizationId","modelsBindingConnectionId","createdAt","updatedAt"]).expression((n)=>n.selectFrom("organization_settings").select(["organizationId",n.val(null).as("modelsBindingConnectionId"),"createdAt","updatedAt"])).execute(),await t.schema.dropTable("organization_settings").execute(),await t.schema.alterTable("organization_settings_new").renameTo("organization_settings").execute()}var zt={};i(zt,{up:()=>Be,down:()=>Se});async function Be(t){await t.schema.alterTable("connections").addColumn("configuration_state","text").execute(),await t.schema.alterTable("connections").addColumn("configuration_scopes","text").execute()}async function Se(t){await t.schema.alterTable("connections").dropColumn("configuration_state").execute(),await t.schema.alterTable("connections").dropColumn("configuration_scopes").execute()}var Pt={};i(Pt,{up:()=>Ge,down:()=>Ie});import{sql as Oe}from"kysely";async function Ge(t){await t.schema.alterTable("organization_settings").addColumn("sidebar_items",Oe`text`).execute()}async function Ie(t){await t.schema.alterTable("organization_settings").dropColumn("sidebar_items").execute()}var rt={};i(rt,{up:()=>ge,down:()=>se});async function ge(t){await t.schema.createTable("monitoring_logs").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("connection_id","text",(n)=>n.notNull().references("connections.id").onDelete("cascade")).addColumn("connection_title","text",(n)=>n.notNull()).addColumn("tool_name","text",(n)=>n.notNull()).addColumn("input","text",(n)=>n.notNull()).addColumn("output","text",(n)=>n.notNull()).addColumn("is_error","integer",(n)=>n.notNull()).addColumn("error_message","text").addColumn("duration_ms","integer",(n)=>n.notNull()).addColumn("timestamp","text",(n)=>n.notNull()).addColumn("user_id","text").addColumn("request_id","text",(n)=>n.notNull()).execute(),await t.schema.createIndex("monitoring_logs_org_timestamp").on("monitoring_logs").columns(["organization_id","timestamp"]).execute(),await t.schema.createIndex("monitoring_logs_connection_timestamp").on("monitoring_logs").columns(["connection_id","timestamp"]).execute(),await t.schema.createIndex("monitoring_logs_is_error").on("monitoring_logs").columns(["organization_id","is_error","timestamp"]).execute()}async function se(t){await t.schema.dropIndex("monitoring_logs_is_error").execute(),await t.schema.dropIndex("monitoring_logs_connection_timestamp").execute(),await t.schema.dropIndex("monitoring_logs_org_timestamp").execute(),await t.schema.dropTable("monitoring_logs").execute()}var Ut={};i(Ut,{up:()=>Ve,down:()=>ve});import{sql as h}from"kysely";async function Ve(t){await t.schema.createTable("events").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("type","text",(n)=>n.notNull()).addColumn("source","text",(n)=>n.notNull()).addColumn("specversion","text",(n)=>n.notNull().defaultTo("1.0")).addColumn("subject","text").addColumn("time","text",(n)=>n.notNull()).addColumn("datacontenttype","text",(n)=>n.notNull().defaultTo("application/json")).addColumn("dataschema","text").addColumn("data","text").addColumn("cron","varchar(255)").addColumn("status","text",(n)=>n.notNull().defaultTo("pending")).addColumn("attempts","integer",(n)=>n.notNull().defaultTo(0)).addColumn("last_error","text").addColumn("next_retry_at","text").addColumn("created_at","text",(n)=>n.notNull().defaultTo(h`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(n)=>n.notNull().defaultTo(h`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("event_subscriptions").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("connection_id","text",(n)=>n.notNull().references("connections.id").onDelete("cascade")).addColumn("publisher","text").addColumn("event_type","text",(n)=>n.notNull()).addColumn("filter","text").addColumn("enabled","integer",(n)=>n.notNull().defaultTo(1)).addColumn("created_at","text",(n)=>n.notNull().defaultTo(h`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(n)=>n.notNull().defaultTo(h`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("event_deliveries").addColumn("id","text",(n)=>n.primaryKey()).addColumn("event_id","text",(n)=>n.notNull()).addColumn("subscription_id","text",(n)=>n.notNull().references("event_subscriptions.id").onDelete("cascade")).addColumn("status","text",(n)=>n.notNull().defaultTo("pending")).addColumn("attempts","integer",(n)=>n.notNull().defaultTo(0)).addColumn("last_error","text").addColumn("delivered_at","text").addColumn("next_retry_at","text").addColumn("created_at","text",(n)=>n.notNull().defaultTo(h`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_events_org_status").on("events").columns(["organization_id","status"]).execute(),await t.schema.createIndex("idx_events_source").on("events").columns(["source"]).execute(),await t.schema.createIndex("idx_events_type").on("events").columns(["type"]).execute(),await t.schema.createIndex("idx_events_retry").on("events").columns(["status","next_retry_at"]).execute(),await t.schema.createIndex("idx_subscriptions_connection").on("event_subscriptions").columns(["connection_id"]).execute(),await t.schema.createIndex("idx_subscriptions_type").on("event_subscriptions").columns(["event_type"]).execute(),await t.schema.createIndex("idx_subscriptions_org_enabled").on("event_subscriptions").columns(["organization_id","enabled"]).execute(),await t.schema.createIndex("idx_subscriptions_unique").on("event_subscriptions").columns(["connection_id","event_type","publisher","filter"]).unique().execute(),await t.schema.createIndex("idx_deliveries_event").on("event_deliveries").columns(["event_id"]).execute(),await t.schema.createIndex("idx_deliveries_subscription_status").on("event_deliveries").columns(["subscription_id","status"]).execute(),await t.schema.createIndex("idx_deliveries_retry").on("event_deliveries").columns(["status","next_retry_at"]).execute()}async function ve(t){await t.schema.dropIndex("idx_deliveries_retry").execute(),await t.schema.dropIndex("idx_deliveries_subscription_status").execute(),await t.schema.dropIndex("idx_deliveries_event").execute(),await t.schema.dropIndex("idx_subscriptions_unique").execute(),await t.schema.dropIndex("idx_subscriptions_org_enabled").execute(),await t.schema.dropIndex("idx_subscriptions_type").execute(),await t.schema.dropIndex("idx_subscriptions_connection").execute(),await t.schema.dropIndex("idx_events_retry").execute(),await t.schema.dropIndex("idx_events_type").execute(),await t.schema.dropIndex("idx_events_source").execute(),await t.schema.dropIndex("idx_events_org_status").execute(),await t.schema.dropTable("event_deliveries").execute(),await t.schema.dropTable("event_subscriptions").execute(),await t.schema.dropTable("events").execute()}var Dt={};i(Dt,{up:()=>le,down:()=>de});import{sql as qe}from"kysely";async function le(t){await t.schema.dropTable("audit_logs").ifExists().execute()}async function de(t){await t.schema.createTable("audit_logs").ifNotExists().addColumn("id","text",(n)=>n.primaryKey()).addColumn("organizationId","text").addColumn("userId","text",(n)=>n.references("user.id").onDelete("set null")).addColumn("connectionId","text",(n)=>n.references("connections.id").onDelete("set null")).addColumn("toolName","text",(n)=>n.notNull()).addColumn("allowed","integer",(n)=>n.notNull()).addColumn("duration","integer").addColumn("timestamp","text",(n)=>n.notNull().defaultTo(qe`CURRENT_TIMESTAMP`)).addColumn("requestMetadata","text").execute(),await t.schema.createIndex("idx_audit_logs_organizationId").on("audit_logs").column("organizationId").execute(),await t.schema.createIndex("idx_audit_logs_userId").on("audit_logs").column("userId").execute(),await t.schema.createIndex("idx_audit_logs_timestamp").on("audit_logs").column("timestamp").execute()}var jt={};i(jt,{up:()=>be,down:()=>t_});import{sql as q}from"kysely";async function be(t){await t.schema.createTable("gateways").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(n)=>n.notNull()).addColumn("description","text").addColumn("tool_selection_strategy","text").addColumn("status","text",(n)=>n.notNull().defaultTo("active")).addColumn("is_default","integer",(n)=>n.notNull().defaultTo(0)).addColumn("created_at","text",(n)=>n.notNull().defaultTo(q`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(n)=>n.notNull().defaultTo(q`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(n)=>n.notNull().references("user.id").onDelete("cascade")).addColumn("updated_by","text").execute(),await t.schema.createTable("gateway_connections").addColumn("id","text",(n)=>n.primaryKey()).addColumn("gateway_id","text",(n)=>n.notNull().references("gateways.id").onDelete("cascade")).addColumn("connection_id","text",(n)=>n.notNull().references("connections.id").onDelete("cascade")).addColumn("selected_tools","text").addColumn("created_at","text",(n)=>n.notNull().defaultTo(q`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_gateways_org").on("gateways").columns(["organization_id"]).execute(),await t.schema.createIndex("idx_gateways_org_status").on("gateways").columns(["organization_id","status"]).execute(),await q`CREATE UNIQUE INDEX idx_gateways_default_per_org ON gateways (organization_id) WHERE is_default = 1`.execute(t),await t.schema.createIndex("idx_gateway_connections_gateway").on("gateway_connections").columns(["gateway_id"]).execute(),await t.schema.createIndex("idx_gateway_connections_connection").on("gateway_connections").columns(["connection_id"]).execute(),await t.schema.createIndex("idx_gateway_connections_unique").on("gateway_connections").columns(["gateway_id","connection_id"]).unique().execute()}async function t_(t){await t.schema.dropIndex("idx_gateway_connections_unique").execute(),await t.schema.dropIndex("idx_gateway_connections_connection").execute(),await t.schema.dropIndex("idx_gateway_connections_gateway").execute(),await t.schema.dropIndex("idx_gateways_default_per_org").execute(),await t.schema.dropIndex("idx_gateways_org_status").execute(),await t.schema.dropIndex("idx_gateways_org").execute(),await t.schema.dropTable("gateway_connections").execute(),await t.schema.dropTable("gateways").execute()}var Jt={};i(Jt,{up:()=>n_,down:()=>u_});async function n_(t){await t.schema.alterTable("gateways").addColumn("icon","text").execute()}async function u_(t){await t.schema.alterTable("gateways").dropColumn("icon").execute()}var Lt={};i(Lt,{up:()=>i_,down:()=>e_});import{sql as l}from"kysely";async function i_(t){await t.schema.alterTable("gateways").addColumn("tool_selection_mode","text",(n)=>n.notNull().defaultTo("inclusion")).execute(),await l`
|
|
2
|
+
var ke=Object.defineProperty;var $e=(t)=>t;function Xe(t,n){this[t]=$e.bind(null,n)}var i=(t,n)=>{for(var u in n)ke(t,u,{get:n[u],enumerable:!0,configurable:!0,set:Xe.bind(n,u)})};import{Migrator as Re,sql as Y}from"kysely";var wt={};i(wt,{up:()=>Qe,down:()=>Ze});import{sql as z}from"kysely";async function Qe(t){await t.schema.createTable("connections").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organizationId","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("createdById","text",(n)=>n.notNull().references("user.id").onDelete("cascade")).addColumn("name","text",(n)=>n.notNull()).addColumn("description","text").addColumn("icon","text").addColumn("appName","text").addColumn("appId","text").addColumn("connectionType","text",(n)=>n.notNull()).addColumn("connectionUrl","text",(n)=>n.notNull()).addColumn("connectionToken","text").addColumn("connectionHeaders","text").addColumn("oauthConfig","text").addColumn("metadata","text").addColumn("tools","text").addColumn("bindings","text").addColumn("status","text",(n)=>n.notNull().defaultTo("active")).addColumn("createdAt","text",(n)=>n.notNull().defaultTo(z`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(n)=>n.notNull().defaultTo(z`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("api_keys").addColumn("id","text",(n)=>n.primaryKey()).addColumn("userId","text",(n)=>n.notNull().references("user.id").onDelete("cascade")).addColumn("name","text",(n)=>n.notNull()).addColumn("hashedKey","text",(n)=>n.notNull().unique()).addColumn("permissions","text",(n)=>n.notNull()).addColumn("expiresAt","text").addColumn("remaining","integer").addColumn("metadata","text").addColumn("createdAt","text",(n)=>n.notNull().defaultTo(z`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(n)=>n.notNull().defaultTo(z`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("audit_logs").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organizationId","text").addColumn("userId","text",(n)=>n.references("user.id").onDelete("set null")).addColumn("connectionId","text",(n)=>n.references("connections.id").onDelete("set null")).addColumn("toolName","text",(n)=>n.notNull()).addColumn("allowed","integer",(n)=>n.notNull()).addColumn("duration","integer").addColumn("timestamp","text",(n)=>n.notNull().defaultTo(z`CURRENT_TIMESTAMP`)).addColumn("requestMetadata","text").execute(),await t.schema.createTable("oauth_clients").addColumn("id","text",(n)=>n.primaryKey()).addColumn("clientId","text",(n)=>n.notNull().unique()).addColumn("clientSecret","text").addColumn("clientName","text",(n)=>n.notNull()).addColumn("redirectUris","text",(n)=>n.notNull()).addColumn("grantTypes","text",(n)=>n.notNull()).addColumn("scope","text").addColumn("clientUri","text").addColumn("logoUri","text").addColumn("createdAt","text",(n)=>n.notNull().defaultTo(z`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("oauth_authorization_codes").addColumn("code","text",(n)=>n.primaryKey()).addColumn("clientId","text",(n)=>n.notNull().references("oauth_clients.clientId").onDelete("cascade")).addColumn("userId","text",(n)=>n.notNull().references("user.id").onDelete("cascade")).addColumn("redirectUri","text",(n)=>n.notNull()).addColumn("scope","text").addColumn("codeChallenge","text").addColumn("codeChallengeMethod","text").addColumn("expiresAt","text",(n)=>n.notNull()).addColumn("createdAt","text",(n)=>n.notNull().defaultTo(z`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("oauth_refresh_tokens").addColumn("token","text",(n)=>n.primaryKey()).addColumn("clientId","text",(n)=>n.notNull().references("oauth_clients.clientId").onDelete("cascade")).addColumn("userId","text",(n)=>n.notNull().references("user.id").onDelete("cascade")).addColumn("scope","text").addColumn("expiresAt","text").addColumn("createdAt","text",(n)=>n.notNull().defaultTo(z`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("downstream_tokens").addColumn("id","text",(n)=>n.primaryKey()).addColumn("connectionId","text",(n)=>n.notNull().references("connections.id").onDelete("cascade")).addColumn("userId","text",(n)=>n.references("user.id").onDelete("cascade")).addColumn("accessToken","text",(n)=>n.notNull()).addColumn("refreshToken","text").addColumn("scope","text").addColumn("expiresAt","text").addColumn("createdAt","text",(n)=>n.notNull().defaultTo(z`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(n)=>n.notNull().defaultTo(z`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_connections_organizationId").on("connections").column("organizationId").execute(),await t.schema.createIndex("idx_audit_logs_organizationId").on("audit_logs").column("organizationId").execute(),await t.schema.createIndex("idx_audit_logs_userId").on("audit_logs").column("userId").execute(),await t.schema.createIndex("idx_audit_logs_timestamp").on("audit_logs").column("timestamp").execute()}async function Ze(t){await t.schema.dropTable("downstream_tokens").execute(),await t.schema.dropTable("oauth_refresh_tokens").execute(),await t.schema.dropTable("oauth_authorization_codes").execute(),await t.schema.dropTable("oauth_clients").execute(),await t.schema.dropTable("audit_logs").execute(),await t.schema.dropTable("api_keys").execute(),await t.schema.dropTable("connections").execute()}var Kt={};i(Kt,{up:()=>Fe,down:()=>He});import{sql as ki}from"kysely";async function Fe(t){await t.schema.createTable("organization_settings").addColumn("organizationId","text",(n)=>n.primaryKey().references("organization.id").onDelete("cascade")).addColumn("modelsBindingConnectionId","text",(n)=>n.references("connections.id").onDelete("set null")).addColumn("createdAt","text",(n)=>n.notNull().defaultTo(ki`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(n)=>n.notNull().defaultTo(ki`CURRENT_TIMESTAMP`)).execute()}async function He(t){await t.schema.dropTable("organization_settings").execute()}var ct={};i(ct,{up:()=>Me,down:()=>Ye});async function Me(t){await t.schema.alterTable("connections").renameColumn("name","title").execute(),await t.schema.alterTable("connections").renameColumn("createdById","created_by").execute(),await t.schema.alterTable("connections").renameColumn("createdAt","created_at").execute(),await t.schema.alterTable("connections").renameColumn("updatedAt","updated_at").execute(),await t.schema.alterTable("connections").renameColumn("organizationId","organization_id").execute(),await t.schema.alterTable("connections").renameColumn("connectionType","connection_type").execute(),await t.schema.alterTable("connections").renameColumn("connectionUrl","connection_url").execute(),await t.schema.alterTable("connections").renameColumn("connectionToken","connection_token").execute(),await t.schema.alterTable("connections").renameColumn("connectionHeaders","connection_headers").execute(),await t.schema.alterTable("connections").renameColumn("oauthConfig","oauth_config").execute(),await t.schema.alterTable("connections").renameColumn("appName","app_name").execute(),await t.schema.alterTable("connections").renameColumn("appId","app_id").execute()}async function Ye(t){await t.schema.alterTable("connections").renameColumn("title","name").execute(),await t.schema.alterTable("connections").renameColumn("created_by","createdById").execute(),await t.schema.alterTable("connections").renameColumn("created_at","createdAt").execute(),await t.schema.alterTable("connections").renameColumn("updated_at","updatedAt").execute(),await t.schema.alterTable("connections").renameColumn("organization_id","organizationId").execute(),await t.schema.alterTable("connections").renameColumn("connection_type","connectionType").execute(),await t.schema.alterTable("connections").renameColumn("connection_url","connectionUrl").execute(),await t.schema.alterTable("connections").renameColumn("connection_token","connectionToken").execute(),await t.schema.alterTable("connections").renameColumn("connection_headers","connectionHeaders").execute(),await t.schema.alterTable("connections").renameColumn("oauth_config","oauthConfig").execute(),await t.schema.alterTable("connections").renameColumn("app_name","appName").execute(),await t.schema.alterTable("connections").renameColumn("app_id","appId").execute()}var pt={};i(pt,{up:()=>he,down:()=>Ae});async function he(t){await t.schema.createTable("organization_settings_new").addColumn("organizationId","text",(n)=>n.primaryKey().references("organization.id").onDelete("cascade")).addColumn("createdAt","text",(n)=>n.notNull()).addColumn("updatedAt","text",(n)=>n.notNull()).execute(),await t.insertInto("organization_settings_new").columns(["organizationId","createdAt","updatedAt"]).expression((n)=>n.selectFrom("organization_settings").select(["organizationId","createdAt","updatedAt"])).execute(),await t.schema.dropTable("organization_settings").execute(),await t.schema.alterTable("organization_settings_new").renameTo("organization_settings").execute()}async function Ae(t){await t.schema.createTable("organization_settings_new").addColumn("organizationId","text",(n)=>n.primaryKey().references("organization.id").onDelete("cascade")).addColumn("modelsBindingConnectionId","text",(n)=>n.references("connections.id").onDelete("set null")).addColumn("createdAt","text",(n)=>n.notNull()).addColumn("updatedAt","text",(n)=>n.notNull()).execute(),await t.insertInto("organization_settings_new").columns(["organizationId","modelsBindingConnectionId","createdAt","updatedAt"]).expression((n)=>n.selectFrom("organization_settings").select(["organizationId",n.val(null).as("modelsBindingConnectionId"),"createdAt","updatedAt"])).execute(),await t.schema.dropTable("organization_settings").execute(),await t.schema.alterTable("organization_settings_new").renameTo("organization_settings").execute()}var zt={};i(zt,{up:()=>Be,down:()=>Se});async function Be(t){await t.schema.alterTable("connections").addColumn("configuration_state","text").execute(),await t.schema.alterTable("connections").addColumn("configuration_scopes","text").execute()}async function Se(t){await t.schema.alterTable("connections").dropColumn("configuration_state").execute(),await t.schema.alterTable("connections").dropColumn("configuration_scopes").execute()}var Pt={};i(Pt,{up:()=>Ge,down:()=>Ie});import{sql as Oe}from"kysely";async function Ge(t){await t.schema.alterTable("organization_settings").addColumn("sidebar_items",Oe`text`).execute()}async function Ie(t){await t.schema.alterTable("organization_settings").dropColumn("sidebar_items").execute()}var rt={};i(rt,{up:()=>ge,down:()=>se});async function ge(t){await t.schema.createTable("monitoring_logs").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("connection_id","text",(n)=>n.notNull().references("connections.id").onDelete("cascade")).addColumn("connection_title","text",(n)=>n.notNull()).addColumn("tool_name","text",(n)=>n.notNull()).addColumn("input","text",(n)=>n.notNull()).addColumn("output","text",(n)=>n.notNull()).addColumn("is_error","integer",(n)=>n.notNull()).addColumn("error_message","text").addColumn("duration_ms","integer",(n)=>n.notNull()).addColumn("timestamp","text",(n)=>n.notNull()).addColumn("user_id","text").addColumn("request_id","text",(n)=>n.notNull()).execute(),await t.schema.createIndex("monitoring_logs_org_timestamp").on("monitoring_logs").columns(["organization_id","timestamp"]).execute(),await t.schema.createIndex("monitoring_logs_connection_timestamp").on("monitoring_logs").columns(["connection_id","timestamp"]).execute(),await t.schema.createIndex("monitoring_logs_is_error").on("monitoring_logs").columns(["organization_id","is_error","timestamp"]).execute()}async function se(t){await t.schema.dropIndex("monitoring_logs_is_error").execute(),await t.schema.dropIndex("monitoring_logs_connection_timestamp").execute(),await t.schema.dropIndex("monitoring_logs_org_timestamp").execute(),await t.schema.dropTable("monitoring_logs").execute()}var Ut={};i(Ut,{up:()=>Ve,down:()=>ve});import{sql as h}from"kysely";async function Ve(t){await t.schema.createTable("events").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("type","text",(n)=>n.notNull()).addColumn("source","text",(n)=>n.notNull()).addColumn("specversion","text",(n)=>n.notNull().defaultTo("1.0")).addColumn("subject","text").addColumn("time","text",(n)=>n.notNull()).addColumn("datacontenttype","text",(n)=>n.notNull().defaultTo("application/json")).addColumn("dataschema","text").addColumn("data","text").addColumn("cron","varchar(255)").addColumn("status","text",(n)=>n.notNull().defaultTo("pending")).addColumn("attempts","integer",(n)=>n.notNull().defaultTo(0)).addColumn("last_error","text").addColumn("next_retry_at","text").addColumn("created_at","text",(n)=>n.notNull().defaultTo(h`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(n)=>n.notNull().defaultTo(h`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("event_subscriptions").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("connection_id","text",(n)=>n.notNull().references("connections.id").onDelete("cascade")).addColumn("publisher","text").addColumn("event_type","text",(n)=>n.notNull()).addColumn("filter","text").addColumn("enabled","integer",(n)=>n.notNull().defaultTo(1)).addColumn("created_at","text",(n)=>n.notNull().defaultTo(h`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(n)=>n.notNull().defaultTo(h`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("event_deliveries").addColumn("id","text",(n)=>n.primaryKey()).addColumn("event_id","text",(n)=>n.notNull()).addColumn("subscription_id","text",(n)=>n.notNull().references("event_subscriptions.id").onDelete("cascade")).addColumn("status","text",(n)=>n.notNull().defaultTo("pending")).addColumn("attempts","integer",(n)=>n.notNull().defaultTo(0)).addColumn("last_error","text").addColumn("delivered_at","text").addColumn("next_retry_at","text").addColumn("created_at","text",(n)=>n.notNull().defaultTo(h`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_events_org_status").on("events").columns(["organization_id","status"]).execute(),await t.schema.createIndex("idx_events_source").on("events").columns(["source"]).execute(),await t.schema.createIndex("idx_events_type").on("events").columns(["type"]).execute(),await t.schema.createIndex("idx_events_retry").on("events").columns(["status","next_retry_at"]).execute(),await t.schema.createIndex("idx_subscriptions_connection").on("event_subscriptions").columns(["connection_id"]).execute(),await t.schema.createIndex("idx_subscriptions_type").on("event_subscriptions").columns(["event_type"]).execute(),await t.schema.createIndex("idx_subscriptions_org_enabled").on("event_subscriptions").columns(["organization_id","enabled"]).execute(),await t.schema.createIndex("idx_subscriptions_unique").on("event_subscriptions").columns(["connection_id","event_type","publisher","filter"]).unique().execute(),await t.schema.createIndex("idx_deliveries_event").on("event_deliveries").columns(["event_id"]).execute(),await t.schema.createIndex("idx_deliveries_subscription_status").on("event_deliveries").columns(["subscription_id","status"]).execute(),await t.schema.createIndex("idx_deliveries_retry").on("event_deliveries").columns(["status","next_retry_at"]).execute()}async function ve(t){await t.schema.dropIndex("idx_deliveries_retry").execute(),await t.schema.dropIndex("idx_deliveries_subscription_status").execute(),await t.schema.dropIndex("idx_deliveries_event").execute(),await t.schema.dropIndex("idx_subscriptions_unique").execute(),await t.schema.dropIndex("idx_subscriptions_org_enabled").execute(),await t.schema.dropIndex("idx_subscriptions_type").execute(),await t.schema.dropIndex("idx_subscriptions_connection").execute(),await t.schema.dropIndex("idx_events_retry").execute(),await t.schema.dropIndex("idx_events_type").execute(),await t.schema.dropIndex("idx_events_source").execute(),await t.schema.dropIndex("idx_events_org_status").execute(),await t.schema.dropTable("event_deliveries").execute(),await t.schema.dropTable("event_subscriptions").execute(),await t.schema.dropTable("events").execute()}var jt={};i(jt,{up:()=>le,down:()=>de});import{sql as qe}from"kysely";async function le(t){await t.schema.dropTable("audit_logs").ifExists().execute()}async function de(t){await t.schema.createTable("audit_logs").ifNotExists().addColumn("id","text",(n)=>n.primaryKey()).addColumn("organizationId","text").addColumn("userId","text",(n)=>n.references("user.id").onDelete("set null")).addColumn("connectionId","text",(n)=>n.references("connections.id").onDelete("set null")).addColumn("toolName","text",(n)=>n.notNull()).addColumn("allowed","integer",(n)=>n.notNull()).addColumn("duration","integer").addColumn("timestamp","text",(n)=>n.notNull().defaultTo(qe`CURRENT_TIMESTAMP`)).addColumn("requestMetadata","text").execute(),await t.schema.createIndex("idx_audit_logs_organizationId").on("audit_logs").column("organizationId").execute(),await t.schema.createIndex("idx_audit_logs_userId").on("audit_logs").column("userId").execute(),await t.schema.createIndex("idx_audit_logs_timestamp").on("audit_logs").column("timestamp").execute()}var Dt={};i(Dt,{up:()=>be,down:()=>t_});import{sql as q}from"kysely";async function be(t){await t.schema.createTable("gateways").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(n)=>n.notNull()).addColumn("description","text").addColumn("tool_selection_strategy","text").addColumn("status","text",(n)=>n.notNull().defaultTo("active")).addColumn("is_default","integer",(n)=>n.notNull().defaultTo(0)).addColumn("created_at","text",(n)=>n.notNull().defaultTo(q`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(n)=>n.notNull().defaultTo(q`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(n)=>n.notNull().references("user.id").onDelete("cascade")).addColumn("updated_by","text").execute(),await t.schema.createTable("gateway_connections").addColumn("id","text",(n)=>n.primaryKey()).addColumn("gateway_id","text",(n)=>n.notNull().references("gateways.id").onDelete("cascade")).addColumn("connection_id","text",(n)=>n.notNull().references("connections.id").onDelete("cascade")).addColumn("selected_tools","text").addColumn("created_at","text",(n)=>n.notNull().defaultTo(q`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_gateways_org").on("gateways").columns(["organization_id"]).execute(),await t.schema.createIndex("idx_gateways_org_status").on("gateways").columns(["organization_id","status"]).execute(),await q`CREATE UNIQUE INDEX idx_gateways_default_per_org ON gateways (organization_id) WHERE is_default = 1`.execute(t),await t.schema.createIndex("idx_gateway_connections_gateway").on("gateway_connections").columns(["gateway_id"]).execute(),await t.schema.createIndex("idx_gateway_connections_connection").on("gateway_connections").columns(["connection_id"]).execute(),await t.schema.createIndex("idx_gateway_connections_unique").on("gateway_connections").columns(["gateway_id","connection_id"]).unique().execute()}async function t_(t){await t.schema.dropIndex("idx_gateway_connections_unique").execute(),await t.schema.dropIndex("idx_gateway_connections_connection").execute(),await t.schema.dropIndex("idx_gateway_connections_gateway").execute(),await t.schema.dropIndex("idx_gateways_default_per_org").execute(),await t.schema.dropIndex("idx_gateways_org_status").execute(),await t.schema.dropIndex("idx_gateways_org").execute(),await t.schema.dropTable("gateway_connections").execute(),await t.schema.dropTable("gateways").execute()}var Jt={};i(Jt,{up:()=>n_,down:()=>u_});async function n_(t){await t.schema.alterTable("gateways").addColumn("icon","text").execute()}async function u_(t){await t.schema.alterTable("gateways").dropColumn("icon").execute()}var Lt={};i(Lt,{up:()=>i_,down:()=>e_});import{sql as l}from"kysely";async function i_(t){await t.schema.alterTable("gateways").addColumn("tool_selection_mode","text",(n)=>n.notNull().defaultTo("inclusion")).execute(),await l`
|
|
3
3
|
UPDATE gateways
|
|
4
4
|
SET tool_selection_mode = CASE
|
|
5
5
|
WHEN tool_selection_strategy = 'exclusion' THEN 'exclusion'
|
|
@@ -21,7 +21,7 @@ var ke=Object.defineProperty;var $e=(t)=>t;function Xe(t,n){this[t]=$e.bind(null
|
|
|
21
21
|
) ranked
|
|
22
22
|
WHERE rn = 1
|
|
23
23
|
)
|
|
24
|
-
`.execute(t),await t.schema.dropIndex("idx_downstream_tokens_connection_user").execute(),await t.schema.alterTable("downstream_tokens").dropColumn("userId").execute(),await t.schema.createIndex("idx_downstream_tokens_connection").on("downstream_tokens").column("connectionId").unique().execute()}async function f_(t){await t.schema.dropIndex("idx_downstream_tokens_connection").execute(),await t.schema.alterTable("downstream_tokens").addColumn("userId","text").execute(),await t.schema.createIndex("idx_downstream_tokens_connection_user").on("downstream_tokens").columns(["connectionId","userId"]).execute()}var Qt={};i(Qt,{up:()=>w_,down:()=>K_});async function w_(t){await t.schema.alterTable("gateways").dropColumn("tool_selection_strategy").execute()}async function K_(t){await t.schema.alterTable("gateways").addColumn("tool_selection_strategy","text",(n)=>n.notNull().defaultTo("passthrough")).execute()}var Zt={};i(Zt,{up:()=>c_,down:()=>p_});import{sql as $i}from"kysely";async function c_(t){await $i`DROP INDEX IF EXISTS idx_gateways_default_per_org`.execute(t),await t.schema.alterTable("gateways").dropColumn("is_default").execute()}async function p_(t){await t.schema.alterTable("gateways").addColumn("is_default","integer",(n)=>n.notNull().defaultTo(0)).execute(),await $i`CREATE UNIQUE INDEX idx_gateways_default_per_org ON gateways (organization_id) WHERE is_default = 1`.execute(t)}var Ft={};i(Ft,{up:()=>z_,down:()=>P_});async function z_(t){await t.schema.alterTable("organization_settings").addColumn("enabled_plugins","text").execute()}async function P_(t){await t.schema.alterTable("organization_settings").dropColumn("enabled_plugins").execute()}var Ht={};i(Ht,{up:()=>r_,down:()=>U_});import{sql as d}from"kysely";async function r_(t){await t.schema.createTable("threads").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(n)=>n.notNull()).addColumn("description","text").addColumn("hidden","boolean",(n)=>n.notNull().defaultTo(!1)).addColumn("created_at","text",(n)=>n.notNull().defaultTo(d`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(n)=>n.notNull().defaultTo(d`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(n)=>n.notNull().references("user.id").onDelete("cascade")).addColumn("updated_by","text").execute(),await t.schema.createTable("thread_messages").addColumn("id","text",(n)=>n.primaryKey()).addColumn("thread_id","text",(n)=>n.notNull().references("threads.id").onDelete("cascade")).addColumn("metadata","text").addColumn("parts","text",(n)=>n.notNull()).addColumn("role","text",(n)=>n.notNull()).addColumn("created_at","text",(n)=>n.notNull().defaultTo(d`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(n)=>n.notNull().defaultTo(d`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_threads_org").on("threads").columns(["organization_id"]).execute(),await t.schema.createIndex("idx_threads_created_by").on("threads").columns(["created_by"]).execute(),await t.schema.createIndex("idx_threads_org_updated").on("threads").columns(["organization_id","updated_at"]).execute(),await t.schema.createIndex("idx_thread_messages_thread").on("thread_messages").columns(["thread_id"]).execute(),await t.schema.createIndex("idx_thread_messages_thread_created").on("thread_messages").columns(["thread_id","created_at"]).execute()}async function U_(t){await t.schema.dropIndex("idx_thread_messages_thread_created").execute(),await t.schema.dropIndex("idx_thread_messages_thread").execute(),await t.schema.dropIndex("idx_threads_org_updated").execute(),await t.schema.dropIndex("idx_threads_created_by").execute(),await t.schema.dropIndex("idx_threads_org").execute(),await t.schema.dropTable("thread_messages").execute(),await t.schema.dropTable("threads").execute()}var Mt={};i(Mt,{up:()=>
|
|
24
|
+
`.execute(t),await t.schema.dropIndex("idx_downstream_tokens_connection_user").execute(),await t.schema.alterTable("downstream_tokens").dropColumn("userId").execute(),await t.schema.createIndex("idx_downstream_tokens_connection").on("downstream_tokens").column("connectionId").unique().execute()}async function f_(t){await t.schema.dropIndex("idx_downstream_tokens_connection").execute(),await t.schema.alterTable("downstream_tokens").addColumn("userId","text").execute(),await t.schema.createIndex("idx_downstream_tokens_connection_user").on("downstream_tokens").columns(["connectionId","userId"]).execute()}var Qt={};i(Qt,{up:()=>w_,down:()=>K_});async function w_(t){await t.schema.alterTable("gateways").dropColumn("tool_selection_strategy").execute()}async function K_(t){await t.schema.alterTable("gateways").addColumn("tool_selection_strategy","text",(n)=>n.notNull().defaultTo("passthrough")).execute()}var Zt={};i(Zt,{up:()=>c_,down:()=>p_});import{sql as $i}from"kysely";async function c_(t){await $i`DROP INDEX IF EXISTS idx_gateways_default_per_org`.execute(t),await t.schema.alterTable("gateways").dropColumn("is_default").execute()}async function p_(t){await t.schema.alterTable("gateways").addColumn("is_default","integer",(n)=>n.notNull().defaultTo(0)).execute(),await $i`CREATE UNIQUE INDEX idx_gateways_default_per_org ON gateways (organization_id) WHERE is_default = 1`.execute(t)}var Ft={};i(Ft,{up:()=>z_,down:()=>P_});async function z_(t){await t.schema.alterTable("organization_settings").addColumn("enabled_plugins","text").execute()}async function P_(t){await t.schema.alterTable("organization_settings").dropColumn("enabled_plugins").execute()}var Ht={};i(Ht,{up:()=>r_,down:()=>U_});import{sql as d}from"kysely";async function r_(t){await t.schema.createTable("threads").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(n)=>n.notNull()).addColumn("description","text").addColumn("hidden","boolean",(n)=>n.notNull().defaultTo(!1)).addColumn("created_at","text",(n)=>n.notNull().defaultTo(d`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(n)=>n.notNull().defaultTo(d`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(n)=>n.notNull().references("user.id").onDelete("cascade")).addColumn("updated_by","text").execute(),await t.schema.createTable("thread_messages").addColumn("id","text",(n)=>n.primaryKey()).addColumn("thread_id","text",(n)=>n.notNull().references("threads.id").onDelete("cascade")).addColumn("metadata","text").addColumn("parts","text",(n)=>n.notNull()).addColumn("role","text",(n)=>n.notNull()).addColumn("created_at","text",(n)=>n.notNull().defaultTo(d`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(n)=>n.notNull().defaultTo(d`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_threads_org").on("threads").columns(["organization_id"]).execute(),await t.schema.createIndex("idx_threads_created_by").on("threads").columns(["created_by"]).execute(),await t.schema.createIndex("idx_threads_org_updated").on("threads").columns(["organization_id","updated_at"]).execute(),await t.schema.createIndex("idx_thread_messages_thread").on("thread_messages").columns(["thread_id"]).execute(),await t.schema.createIndex("idx_thread_messages_thread_created").on("thread_messages").columns(["thread_id","created_at"]).execute()}async function U_(t){await t.schema.dropIndex("idx_thread_messages_thread_created").execute(),await t.schema.dropIndex("idx_thread_messages_thread").execute(),await t.schema.dropIndex("idx_threads_org_updated").execute(),await t.schema.dropIndex("idx_threads_created_by").execute(),await t.schema.dropIndex("idx_threads_org").execute(),await t.schema.dropTable("thread_messages").execute(),await t.schema.dropTable("threads").execute()}var Mt={};i(Mt,{up:()=>j_,down:()=>D_});async function j_(t){await t.schema.dropIndex("idx_gateway_connections_unique").execute(),await t.schema.dropIndex("idx_gateway_connections_connection").execute(),await t.schema.dropIndex("idx_gateway_connections_gateway").execute(),await t.schema.dropIndex("idx_gateways_org_status").execute(),await t.schema.dropIndex("idx_gateways_org").execute(),await t.schema.dropIndex("monitoring_logs_gateway_timestamp").execute(),await t.schema.alterTable("gateways").renameTo("virtual_mcps").execute(),await t.schema.alterTable("gateway_connections").renameTo("virtual_mcp_connections").execute(),await t.schema.alterTable("virtual_mcp_connections").renameColumn("gateway_id","virtual_mcp_id").execute(),await t.schema.alterTable("monitoring_logs").renameColumn("gateway_id","virtual_mcp_id").execute(),await t.schema.createIndex("idx_virtual_mcps_org").on("virtual_mcps").columns(["organization_id"]).execute(),await t.schema.createIndex("idx_virtual_mcps_org_status").on("virtual_mcps").columns(["organization_id","status"]).execute(),await t.schema.createIndex("idx_virtual_mcp_connections_virtual_mcp").on("virtual_mcp_connections").columns(["virtual_mcp_id"]).execute(),await t.schema.createIndex("idx_virtual_mcp_connections_connection").on("virtual_mcp_connections").columns(["connection_id"]).execute(),await t.schema.createIndex("idx_virtual_mcp_connections_unique").on("virtual_mcp_connections").columns(["virtual_mcp_id","connection_id"]).unique().execute(),await t.schema.createIndex("monitoring_logs_virtual_mcp_timestamp").on("monitoring_logs").columns(["virtual_mcp_id","timestamp"]).execute()}async function D_(t){await t.schema.dropIndex("monitoring_logs_virtual_mcp_timestamp").execute(),await t.schema.dropIndex("idx_virtual_mcp_connections_unique").execute(),await t.schema.dropIndex("idx_virtual_mcp_connections_connection").execute(),await t.schema.dropIndex("idx_virtual_mcp_connections_virtual_mcp").execute(),await t.schema.dropIndex("idx_virtual_mcps_org_status").execute(),await t.schema.dropIndex("idx_virtual_mcps_org").execute(),await t.schema.alterTable("monitoring_logs").renameColumn("virtual_mcp_id","gateway_id").execute(),await t.schema.alterTable("virtual_mcp_connections").renameColumn("virtual_mcp_id","gateway_id").execute(),await t.schema.alterTable("virtual_mcp_connections").renameTo("gateway_connections").execute(),await t.schema.alterTable("virtual_mcps").renameTo("gateways").execute(),await t.schema.createIndex("idx_gateways_org").on("gateways").columns(["organization_id"]).execute(),await t.schema.createIndex("idx_gateways_org_status").on("gateways").columns(["organization_id","status"]).execute(),await t.schema.createIndex("idx_gateway_connections_gateway").on("gateway_connections").columns(["gateway_id"]).execute(),await t.schema.createIndex("idx_gateway_connections_connection").on("gateway_connections").columns(["connection_id"]).execute(),await t.schema.createIndex("idx_gateway_connections_unique").on("gateway_connections").columns(["gateway_id","connection_id"]).unique().execute(),await t.schema.createIndex("monitoring_logs_gateway_timestamp").on("monitoring_logs").columns(["gateway_id","timestamp"]).execute()}var Yt={};i(Yt,{up:()=>J_,down:()=>L_});async function J_(t){await t.schema.dropIndex("idx_threads_org").execute(),await t.schema.dropIndex("idx_thread_messages_thread").execute(),await t.schema.dropIndex("idx_threads_org_updated").execute(),await t.schema.dropIndex("idx_threads_created_by").execute(),await t.schema.dropIndex("idx_thread_messages_thread_created").execute(),await t.schema.createIndex("idx_threads_org_hidden_updated").on("threads").columns(["organization_id","hidden","updated_at"]).execute(),await t.schema.createIndex("idx_threads_created_by_updated").on("threads").columns(["created_by","updated_at"]).execute(),await t.schema.createIndex("idx_thread_messages_thread_created_id").on("thread_messages").columns(["thread_id","created_at","id"]).execute()}async function L_(t){await t.schema.dropIndex("idx_thread_messages_thread_created_id").execute(),await t.schema.dropIndex("idx_threads_created_by_updated").execute(),await t.schema.dropIndex("idx_threads_org_hidden_updated").execute(),await t.schema.createIndex("idx_threads_org").on("threads").columns(["organization_id"]).execute(),await t.schema.createIndex("idx_threads_created_by").on("threads").columns(["created_by"]).execute(),await t.schema.createIndex("idx_threads_org_updated").on("threads").columns(["organization_id","updated_at"]).execute(),await t.schema.createIndex("idx_thread_messages_thread").on("thread_messages").columns(["thread_id"]).execute(),await t.schema.createIndex("idx_thread_messages_thread_created").on("thread_messages").columns(["thread_id","created_at"]).execute()}var ht={};i(ht,{up:()=>R_,down:()=>W_});import{sql as E}from"kysely";async function R_(t){await E`
|
|
25
25
|
INSERT INTO connections (
|
|
26
26
|
id,
|
|
27
27
|
organization_id,
|
|
@@ -148,7 +148,7 @@ var ke=Object.defineProperty;var $e=(t)=>t;function Xe(t,n){this[t]=$e.bind(null
|
|
|
148
148
|
id, parent_connection_id, child_connection_id,
|
|
149
149
|
selected_tools, selected_resources, selected_prompts, created_at
|
|
150
150
|
FROM connection_aggregations
|
|
151
|
-
`.execute(t),await t.schema.dropTable("connection_aggregations").execute(),await t.schema.alterTable("connection_aggregations_new").renameTo("connection_aggregations").execute(),await t.schema.createIndex("idx_conn_agg_parent").on("connection_aggregations").columns(["parent_connection_id"]).execute(),await t.schema.createIndex("idx_conn_agg_child").on("connection_aggregations").columns(["child_connection_id"]).execute(),await t.schema.createIndex("idx_conn_agg_unique").on("connection_aggregations").columns(["parent_connection_id","child_connection_id"]).unique().execute()}var vt={};i(vt,{up:()=>V_,down:()=>v_});import{webcrypto as Zi}from"crypto";var Qi="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var G_=128,L
|
|
151
|
+
`.execute(t),await t.schema.dropTable("connection_aggregations").execute(),await t.schema.alterTable("connection_aggregations_new").renameTo("connection_aggregations").execute(),await t.schema.createIndex("idx_conn_agg_parent").on("connection_aggregations").columns(["parent_connection_id"]).execute(),await t.schema.createIndex("idx_conn_agg_child").on("connection_aggregations").columns(["child_connection_id"]).execute(),await t.schema.createIndex("idx_conn_agg_unique").on("connection_aggregations").columns(["parent_connection_id","child_connection_id"]).unique().execute()}var vt={};i(vt,{up:()=>V_,down:()=>v_});import{webcrypto as Zi}from"crypto";var Qi="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var G_=128,L,$;function I_(t){if(!L||L.length<t)L=Buffer.allocUnsafe(t*G_),Zi.getRandomValues(L),$=0;else if($+t>L.length)Zi.getRandomValues(L),$=0;$+=t}function X(t=21){I_(t|=0);let n="";for(let u=$-t;u<$;u++)n+=Qi[L[u]&63];return n}var g_="org-admin",s_="Organization Admin";async function V_(t){await t.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 t.schema.createIndex("projects_org_slug_unique").on("projects").columns(["organization_id","slug"]).unique().execute(),await t.schema.createIndex("projects_organization_id_idx").on("projects").column("organization_id").execute(),await t.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 t.schema.createIndex("project_plugin_configs_project_plugin_unique").on("project_plugin_configs").columns(["project_id","plugin_id"]).unique().execute();let n=await t.selectFrom("organization").select(["id"]).execute();for(let u of n){let _=new Date().toISOString(),e=`proj_${X()}`,a=await t.selectFrom("organization_settings").select(["enabled_plugins"]).where("organizationId","=",u.id).executeTakeFirst();await t.insertInto("projects").values({id:e,organization_id:u.id,slug:g_,name:s_,description:null,enabled_plugins:a?.enabled_plugins??null,ui:null,created_at:_,updated_at:_}).execute()}}async function v_(t){await t.schema.dropTable("project_plugin_configs").execute(),await t.schema.dropTable("projects").execute()}var qt={};i(qt,{up:()=>q_,down:()=>l_});async function q_(t){await t.schema.alterTable("threads").addColumn("status","text",(n)=>n.notNull().defaultTo("completed")).execute()}async function l_(t){await t.schema.alterTable("threads").dropColumn("status").execute()}var lt={};i(lt,{up:()=>d_,down:()=>b_});async function d_(t){}async function b_(t){}var dt={};i(dt,{up:()=>ta,down:()=>na});async function ta(t){await t.schema.createTable("project_connections").addColumn("id","text",(n)=>n.primaryKey()).addColumn("project_id","text",(n)=>n.notNull().references("projects.id").onDelete("cascade")).addColumn("connection_id","text",(n)=>n.notNull().references("connections.id").onDelete("cascade")).addColumn("created_at","text",(n)=>n.notNull()).execute(),await t.schema.createIndex("project_connections_project_conn_unique").on("project_connections").columns(["project_id","connection_id"]).unique().execute(),await t.schema.createIndex("project_connections_project_id_idx").on("project_connections").columns(["project_id"]).execute()}async function na(t){await t.schema.dropIndex("project_connections_project_id_idx").execute(),await t.schema.dropIndex("project_connections_project_conn_unique").execute(),await t.schema.dropTable("project_connections").execute()}var bt={};i(bt,{up:()=>ua,down:()=>ia});import{sql as Fi}from"kysely";async function ua(t){await Fi`
|
|
152
152
|
UPDATE connections
|
|
153
153
|
SET connection_url = 'https://studio.decocms.com/org/deco/registry/mcp',
|
|
154
154
|
tools = NULL,
|
|
@@ -161,7 +161,7 @@ var ke=Object.defineProperty;var $e=(t)=>t;function Xe(t,n){this[t]=$e.bind(null
|
|
|
161
161
|
updated_at = CURRENT_TIMESTAMP
|
|
162
162
|
WHERE connection_url = 'https://studio.decocms.com/org/deco/registry/mcp'
|
|
163
163
|
AND app_name = 'deco-registry'
|
|
164
|
-
`.execute(t)}var tn={};i(tn,{up:()=>_a,down:()=>aa});import{sql as ea}from"kysely";async function _a(t){await t.schema.createTable("ai_provider_keys").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("provider_id","text",(n)=>n.notNull()).addColumn("label","text",(n)=>n.notNull()).addColumn("encrypted_api_key","text",(n)=>n.notNull()).addColumn("created_by","text",(n)=>n.notNull()).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(ea`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_ai_provider_keys_org").on("ai_provider_keys").column("organization_id").execute(),await t.schema.createIndex("idx_ai_provider_keys_org_provider").on("ai_provider_keys").columns(["organization_id","provider_id"]).execute()}async function aa(t){await t.schema.dropTable("ai_provider_keys").execute()}var nn={};i(nn,{up:()=>ma,down:()=>oa});import{sql as xa}from"kysely";async function ma(t){await t.schema.createTable("oauth_pkce_states").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull()).addColumn("user_id","text",(n)=>n.notNull()).addColumn("code_verifier","text",(n)=>n.notNull()).addColumn("expires_at","timestamptz",(n)=>n.notNull()).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(xa`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_oauth_pkce_states_expires_at").on("oauth_pkce_states").column("expires_at").execute()}async function oa(t){await t.schema.dropTable("oauth_pkce_states").execute()}var un={};i(un,{up:()=>ya,down:()=>Ta});import{sql as
|
|
164
|
+
`.execute(t)}var tn={};i(tn,{up:()=>_a,down:()=>aa});import{sql as ea}from"kysely";async function _a(t){await t.schema.createTable("ai_provider_keys").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("provider_id","text",(n)=>n.notNull()).addColumn("label","text",(n)=>n.notNull()).addColumn("encrypted_api_key","text",(n)=>n.notNull()).addColumn("created_by","text",(n)=>n.notNull()).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(ea`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_ai_provider_keys_org").on("ai_provider_keys").column("organization_id").execute(),await t.schema.createIndex("idx_ai_provider_keys_org_provider").on("ai_provider_keys").columns(["organization_id","provider_id"]).execute()}async function aa(t){await t.schema.dropTable("ai_provider_keys").execute()}var nn={};i(nn,{up:()=>ma,down:()=>oa});import{sql as xa}from"kysely";async function ma(t){await t.schema.createTable("oauth_pkce_states").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull()).addColumn("user_id","text",(n)=>n.notNull()).addColumn("code_verifier","text",(n)=>n.notNull()).addColumn("expires_at","timestamptz",(n)=>n.notNull()).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(xa`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_oauth_pkce_states_expires_at").on("oauth_pkce_states").column("expires_at").execute()}async function oa(t){await t.schema.dropTable("oauth_pkce_states").execute()}var un={};i(un,{up:()=>ya,down:()=>Ta});import{sql as D}from"kysely";async function ya(t){await t.schema.createTable("automations").addColumn("id","text",(n)=>n.primaryKey().defaultTo(D`gen_random_uuid()`)).addColumn("organization_id","text",(n)=>n.notNull()).addColumn("name","text",(n)=>n.notNull()).addColumn("active","boolean",(n)=>n.notNull().defaultTo(!0)).addColumn("created_by","text",(n)=>n.notNull()).addColumn("agent","text",(n)=>n.notNull()).addColumn("messages","text",(n)=>n.notNull()).addColumn("models","text",(n)=>n.notNull()).addColumn("temperature","real",(n)=>n.notNull().defaultTo(0.5)).addColumn("created_at","text",(n)=>n.notNull().defaultTo(D`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(n)=>n.notNull().defaultTo(D`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_automations_org").on("automations").columns(["organization_id"]).execute(),await t.schema.createIndex("idx_automations_active").on("automations").columns(["organization_id","active"]).execute(),await t.schema.createTable("automation_triggers").addColumn("id","text",(n)=>n.primaryKey().defaultTo(D`gen_random_uuid()`)).addColumn("automation_id","text",(n)=>n.notNull().references("automations.id").onDelete("cascade")).addColumn("type","text",(n)=>n.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",(n)=>n.notNull().defaultTo(D`CURRENT_TIMESTAMP`)).execute(),await D`ALTER TABLE automation_triggers ADD CONSTRAINT chk_trigger_type CHECK (type IN ('cron', 'event'))`.execute(t),await D`ALTER TABLE automation_triggers ADD CONSTRAINT chk_cron_trigger CHECK (type != 'cron' OR cron_expression IS NOT NULL)`.execute(t),await D`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(t),await t.schema.createIndex("idx_automation_triggers_automation").on("automation_triggers").columns(["automation_id"]).execute(),await t.schema.createIndex("idx_automation_triggers_event").on("automation_triggers").columns(["connection_id","event_type"]).execute(),await t.schema.createIndex("idx_automation_triggers_cron").on("automation_triggers").columns(["next_run_at"]).execute(),await t.schema.alterTable("threads").addColumn("trigger_id","text",(n)=>n.references("automation_triggers.id").onDelete("set null")).execute(),await t.schema.createIndex("idx_threads_trigger_status").on("threads").columns(["trigger_id","status"]).execute()}async function Ta(t){await t.schema.dropIndex("idx_threads_trigger_status").execute(),await t.schema.alterTable("threads").dropColumn("trigger_id").execute(),await t.schema.dropIndex("idx_automation_triggers_cron").execute(),await t.schema.dropIndex("idx_automation_triggers_event").execute(),await t.schema.dropIndex("idx_automation_triggers_automation").execute(),await t.schema.dropTable("automation_triggers").execute(),await t.schema.dropIndex("idx_automations_active").execute(),await t.schema.dropIndex("idx_automations_org").execute(),await t.schema.dropTable("automations").execute()}var en={};i(en,{up:()=>Ca,down:()=>Na});async function Ca(t){await t.schema.dropIndex("idx_automation_triggers_cron").execute(),await t.schema.alterTable("automation_triggers").dropColumn("next_run_at").execute(),await t.schema.alterTable("automation_triggers").addColumn("last_run_at","text").execute()}async function Na(t){await t.schema.alterTable("automation_triggers").dropColumn("last_run_at").execute(),await t.schema.alterTable("automation_triggers").addColumn("next_run_at","text").execute(),await t.schema.createIndex("idx_automation_triggers_cron").on("automation_triggers").columns(["next_run_at"]).execute()}var _n={};i(_n,{up:()=>Ea,down:()=>fa});async function Ea(t){await t.schema.alterTable("ai_provider_keys").addColumn("key_hash","text").execute(),await t.schema.createIndex("idx_ai_provider_keys_unique_hash").unique().on("ai_provider_keys").columns(["organization_id","provider_id","key_hash"]).execute()}async function fa(t){await t.schema.dropIndex("idx_ai_provider_keys_unique_hash").execute(),await t.schema.alterTable("ai_provider_keys").dropColumn("key_hash").execute()}var an={};i(an,{up:()=>wa,down:()=>Ka});import{sql as Hi}from"kysely";async function wa(t){await Hi`
|
|
165
165
|
UPDATE connections
|
|
166
166
|
SET title = 'CMS MCP',
|
|
167
167
|
tools = NULL,
|
|
@@ -183,7 +183,7 @@ var ke=Object.defineProperty;var $e=(t)=>t;function Xe(t,n){this[t]=$e.bind(null
|
|
|
183
183
|
SET title = 'CMS MCP',
|
|
184
184
|
updated_at = CURRENT_TIMESTAMP
|
|
185
185
|
WHERE app_name = '@deco/management-mcp'
|
|
186
|
-
`.execute(t)}var mn={};i(mn,{up:()=>za,down:()=>Pa});async function za(t){await t.schema.alterTable("connections").dropColumn("tools").execute()}async function Pa(t){await t.schema.alterTable("connections").addColumn("tools","text").execute()}var on={};i(on,{up:()=>ra,down:()=>Ua});async function ra(t){await t.schema.alterTable("threads").addColumn("context_start_message_id","text").execute()}async function Ua(t){await t.schema.alterTable("threads").dropColumn("context_start_message_id").execute()}var Tn={};i(Tn,{up:()=>
|
|
186
|
+
`.execute(t)}var mn={};i(mn,{up:()=>za,down:()=>Pa});async function za(t){await t.schema.alterTable("connections").dropColumn("tools").execute()}async function Pa(t){await t.schema.alterTable("connections").addColumn("tools","text").execute()}var on={};i(on,{up:()=>ra,down:()=>Ua});async function ra(t){await t.schema.alterTable("threads").addColumn("context_start_message_id","text").execute()}async function Ua(t){await t.schema.alterTable("threads").dropColumn("context_start_message_id").execute()}var Tn={};i(Tn,{up:()=>ja,down:()=>Da});import{sql as yn}from"kysely";async function ja(t){await yn`
|
|
187
187
|
UPDATE organization_settings
|
|
188
188
|
SET enabled_plugins = (
|
|
189
189
|
SELECT COALESCE(json_agg(elem), '[]'::json)::text
|
|
@@ -204,7 +204,7 @@ var ke=Object.defineProperty;var $e=(t)=>t;function Xe(t,n){this[t]=$e.bind(null
|
|
|
204
204
|
`.execute(t),await yn`
|
|
205
205
|
DELETE FROM project_plugin_configs
|
|
206
206
|
WHERE plugin_id = 'object-storage'
|
|
207
|
-
`.execute(t)}async function
|
|
207
|
+
`.execute(t)}async function Da(t){}var Cn={};i(Cn,{up:()=>Ja,down:()=>La});import{sql as Yi}from"kysely";async function Ja(t){await t.schema.alterTable("automation_triggers").addColumn("next_run_at","text").execute(),await Yi`CREATE INDEX idx_automation_triggers_next_run ON automation_triggers (next_run_at) WHERE type = 'cron'`.execute(t)}async function La(t){await Yi`DROP INDEX IF EXISTS idx_automation_triggers_next_run`.execute(t),await t.schema.alterTable("automation_triggers").dropColumn("next_run_at").execute()}var En={};i(En,{up:()=>Ra,down:()=>Wa});import{sql as Nn}from"kysely";async function Ra(t){await t.schema.alterTable("connections").addColumn("subtype","text").execute(),await Nn`
|
|
208
208
|
ALTER TABLE connections
|
|
209
209
|
ADD CONSTRAINT chk_connections_subtype
|
|
210
210
|
CHECK (subtype IN ('agent', 'project') OR subtype IS NULL)
|
|
@@ -212,7 +212,7 @@ var ke=Object.defineProperty;var $e=(t)=>t;function Xe(t,n){this[t]=$e.bind(null
|
|
|
212
212
|
UPDATE connections
|
|
213
213
|
SET subtype = 'agent'
|
|
214
214
|
WHERE connection_type = 'VIRTUAL'
|
|
215
|
-
`.execute(t),await t.schema.createTable("virtual_mcp_plugin_configs").addColumn("id","text",(x)=>x.primaryKey()).addColumn("virtual_mcp_id","text",(x)=>x.notNull().references("connections.id").onDelete("cascade")).addColumn("plugin_id","text",(x)=>x.notNull()).addColumn("connection_id","text",(x)=>x.references("connections.id").onDelete("set null")).addColumn("settings","text").addColumn("created_at","text",(x)=>x.notNull()).addColumn("updated_at","text",(x)=>x.notNull()).execute(),await t.schema.createIndex("idx_vmpc_unique").on("virtual_mcp_plugin_configs").columns(["virtual_mcp_id","plugin_id"]).unique().execute(),await t.schema.createIndex("idx_vmpc_virtual_mcp_id").on("virtual_mcp_plugin_configs").columns(["virtual_mcp_id"]).execute();let n=await t.selectFrom("projects").select(["id","organization_id","slug","name","description","enabled_plugins","ui","created_at","updated_at"]).execute(),u=await t.selectFrom("member").select(["organizationId","userId"]).where("role","=","owner").execute(),_=new Map;for(let x of u)_.set(x.organizationId,x.userId);let e=new Map;for(let x of n){let o=`vir_${
|
|
215
|
+
`.execute(t),await t.schema.createTable("virtual_mcp_plugin_configs").addColumn("id","text",(x)=>x.primaryKey()).addColumn("virtual_mcp_id","text",(x)=>x.notNull().references("connections.id").onDelete("cascade")).addColumn("plugin_id","text",(x)=>x.notNull()).addColumn("connection_id","text",(x)=>x.references("connections.id").onDelete("set null")).addColumn("settings","text").addColumn("created_at","text",(x)=>x.notNull()).addColumn("updated_at","text",(x)=>x.notNull()).execute(),await t.schema.createIndex("idx_vmpc_unique").on("virtual_mcp_plugin_configs").columns(["virtual_mcp_id","plugin_id"]).unique().execute(),await t.schema.createIndex("idx_vmpc_virtual_mcp_id").on("virtual_mcp_plugin_configs").columns(["virtual_mcp_id"]).execute();let n=await t.selectFrom("projects").select(["id","organization_id","slug","name","description","enabled_plugins","ui","created_at","updated_at"]).execute(),u=await t.selectFrom("member").select(["organizationId","userId"]).where("role","=","owner").execute(),_=new Map;for(let x of u)_.set(x.organizationId,x.userId);let e=new Map;for(let x of n){let o=`vir_${X()}`;e.set(x.id,o);let y=x.ui?JSON.parse(x.ui):null,T=JSON.stringify({enabled_plugins:x.enabled_plugins?JSON.parse(x.enabled_plugins):null,ui:y,migrated_from_project:x.id,migrated_project_slug:x.slug}),N=_.get(x.organization_id);if(!N)continue;await t.insertInto("connections").values({id:o,organization_id:x.organization_id,created_by:N,updated_by:null,title:x.name,description:x.description,icon:y?.icon??null,app_name:null,app_id:null,connection_type:"VIRTUAL",connection_url:`virtual://${o}`,connection_token:null,connection_headers:null,oauth_config:null,configuration_state:null,configuration_scopes:null,metadata:T,bindings:null,status:"active",subtype:"project",created_at:x.created_at,updated_at:x.updated_at}).execute()}let a=await t.selectFrom("project_connections").select(["project_id","connection_id","created_at"]).execute();for(let x of a){let o=e.get(x.project_id);if(!o)continue;await t.insertInto("connection_aggregations").values({id:`agg_${X()}`,parent_connection_id:o,child_connection_id:x.connection_id,selected_tools:null,selected_resources:null,selected_prompts:null,dependency_mode:"direct",created_at:x.created_at}).onConflict((y)=>y.doNothing()).execute()}let m=await t.selectFrom("project_plugin_configs").select(["id","project_id","plugin_id","connection_id","settings","created_at","updated_at"]).execute();for(let x of m){let o=e.get(x.project_id);if(!o)continue;await t.insertInto("virtual_mcp_plugin_configs").values({id:`vpc_${X()}`,virtual_mcp_id:o,plugin_id:x.plugin_id,connection_id:x.connection_id,settings:x.settings,created_at:x.created_at,updated_at:x.updated_at}).execute()}await t.schema.dropTable("project_plugin_configs").execute(),await t.schema.dropTable("project_connections").execute(),await t.schema.dropTable("projects").execute()}async function Wa(t){await t.schema.dropTable("virtual_mcp_plugin_configs").ifExists().execute(),await t.schema.dropIndex("idx_connections_org_type_subtype").ifExists().execute(),await Nn`
|
|
216
216
|
ALTER TABLE connections
|
|
217
217
|
DROP CONSTRAINT IF EXISTS chk_connections_subtype
|
|
218
218
|
`.execute(t),await t.schema.alterTable("connections").dropColumn("subtype").execute()}var fn={};i(fn,{up:()=>$a,down:()=>Xa});import{sql as ka}from"kysely";async function $a(t){await ka`
|
|
@@ -222,7 +222,7 @@ var ke=Object.defineProperty;var $e=(t)=>t;function Xe(t,n){this[t]=$e.bind(null
|
|
|
222
222
|
AND metadata::json->>'migrated_project_slug' = 'org-admin'
|
|
223
223
|
`.execute(t)}async function Xa(t){}var wn={};i(wn,{up:()=>Za,down:()=>Fa});import{sql as Qa}from"kysely";async function Za(t){await t.schema.alterTable("threads").addColumn("run_owner_pod","text").addColumn("run_config","jsonb").addColumn("run_started_at","timestamptz").execute(),await Qa`CREATE INDEX idx_threads_run_owner ON threads (status, run_owner_pod) WHERE status = 'in_progress'`.execute(t)}async function Fa(t){await t.schema.dropIndex("idx_threads_run_owner").ifExists().execute(),await t.schema.alterTable("threads").dropColumn("run_owner_pod").dropColumn("run_config").dropColumn("run_started_at").execute()}var cn={};i(cn,{up:()=>Ha,down:()=>Ma});import{sql as Kn}from"kysely";async function Ha(t){await t.schema.createTable("org_sso_config").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("issuer","text",(n)=>n.notNull()).addColumn("client_id","text",(n)=>n.notNull()).addColumn("client_secret","text",(n)=>n.notNull()).addColumn("discovery_endpoint","text").addColumn("scopes","text",(n)=>n.notNull().defaultTo('["openid","email","profile"]')).addColumn("domain","text",(n)=>n.notNull()).addColumn("enforced","integer",(n)=>n.notNull().defaultTo(0)).addColumn("created_at","text",(n)=>n.notNull().defaultTo(Kn`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(n)=>n.notNull().defaultTo(Kn`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_org_sso_config_org_id").unique().on("org_sso_config").column("organization_id").execute(),await t.schema.createIndex("idx_org_sso_config_domain").on("org_sso_config").column("domain").execute(),await t.schema.createTable("org_sso_sessions").addColumn("id","text",(n)=>n.primaryKey()).addColumn("user_id","text",(n)=>n.notNull().references("user.id").onDelete("cascade")).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("authenticated_at","text",(n)=>n.notNull()).addColumn("expires_at","text",(n)=>n.notNull()).addColumn("created_at","text",(n)=>n.notNull().defaultTo(Kn`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_org_sso_sessions_user_org").unique().on("org_sso_sessions").columns(["user_id","organization_id"]).execute()}async function Ma(t){await t.schema.dropTable("org_sso_sessions").execute(),await t.schema.dropTable("org_sso_config").execute()}var pn={};i(pn,{up:()=>Ya,down:()=>ha});async function Ya(t){await t.schema.alterTable("threads").addColumn("agent_ids","text",(n)=>n.defaultTo("[]")).execute()}async function ha(t){await t.schema.alterTable("threads").dropColumn("agent_ids").execute()}var zn={};i(zn,{up:()=>Aa,down:()=>Ba});async function Aa(t){await t.schema.alterTable("organization_settings").addColumn("registry_config","text").execute()}async function Ba(t){await t.schema.alterTable("organization_settings").dropColumn("registry_config").execute()}var rn={};i(rn,{up:()=>Oa,down:()=>Ga});import{sql as hi}from"kysely";function Pn(t){return t.toLowerCase().trim().replace(/\//g,"-").replace(/[^a-z0-9\s_-]+/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function Sa(t){if(t.app_name)return t.app_name;if(t.connection_url)try{let n=new URL(t.connection_url),_=((n.port?`${n.hostname}-${n.port}`:n.hostname)+n.pathname).replace(/\/+$/,"");return Pn(_)}catch{return Pn(t.connection_url)}if(t.title)return Pn(t.title);return t.id}async function Oa(t){await t.schema.alterTable("connections").addColumn("slug","text").execute();let n=await hi`
|
|
224
224
|
SELECT id, app_name, connection_url, title FROM connections
|
|
225
|
-
`.execute(t);for(let u of n.rows){let _=Sa(u);await hi`UPDATE connections SET slug = ${_} WHERE id = ${u.id}`.execute(t)}await t.schema.createIndex("idx_connections_org_slug").on("connections").columns(["organization_id","slug"]).execute()}async function Ga(t){await t.schema.dropIndex("idx_connections_org_slug").execute(),await t.schema.alterTable("connections").dropColumn("slug").execute()}var Un={};i(Un,{up:()=>Ia,down:()=>ga});import{sql as B}from"kysely";async function Ia(t){await t.schema.alterTable("connections").addColumn("pinned","boolean",(n)=>n.notNull().defaultTo(!1)).execute(),await B`UPDATE connections SET pinned = true WHERE subtype = 'project' AND connection_type = 'VIRTUAL'`.execute(t),await t.schema.dropIndex("idx_connections_org_type_subtype").ifExists().execute(),await B`ALTER TABLE connections DROP CONSTRAINT IF EXISTS chk_connections_subtype`.execute(t),await t.schema.alterTable("connections").dropColumn("subtype").execute(),await t.schema.createIndex("idx_connections_org_type_pinned").on("connections").columns(["organization_id","connection_type","pinned"]).execute()}async function ga(t){await t.schema.dropIndex("idx_connections_org_type_pinned").ifExists().execute(),await t.schema.alterTable("connections").addColumn("subtype","text").execute(),await B`UPDATE connections SET subtype = 'project' WHERE pinned = true AND connection_type = 'VIRTUAL'`.execute(t),await B`UPDATE connections SET subtype = 'agent' WHERE pinned = false AND connection_type = 'VIRTUAL'`.execute(t),await B`ALTER TABLE connections ADD CONSTRAINT chk_connections_subtype CHECK (subtype IN ('agent', 'project') OR subtype IS NULL)`.execute(t),await t.schema.createIndex("idx_connections_org_type_subtype").on("connections").columns(["organization_id","connection_type","subtype"]).execute(),await t.schema.alterTable("connections").dropColumn("pinned").execute()}var
|
|
225
|
+
`.execute(t);for(let u of n.rows){let _=Sa(u);await hi`UPDATE connections SET slug = ${_} WHERE id = ${u.id}`.execute(t)}await t.schema.createIndex("idx_connections_org_slug").on("connections").columns(["organization_id","slug"]).execute()}async function Ga(t){await t.schema.dropIndex("idx_connections_org_slug").execute(),await t.schema.alterTable("connections").dropColumn("slug").execute()}var Un={};i(Un,{up:()=>Ia,down:()=>ga});import{sql as B}from"kysely";async function Ia(t){await t.schema.alterTable("connections").addColumn("pinned","boolean",(n)=>n.notNull().defaultTo(!1)).execute(),await B`UPDATE connections SET pinned = true WHERE subtype = 'project' AND connection_type = 'VIRTUAL'`.execute(t),await t.schema.dropIndex("idx_connections_org_type_subtype").ifExists().execute(),await B`ALTER TABLE connections DROP CONSTRAINT IF EXISTS chk_connections_subtype`.execute(t),await t.schema.alterTable("connections").dropColumn("subtype").execute(),await t.schema.createIndex("idx_connections_org_type_pinned").on("connections").columns(["organization_id","connection_type","pinned"]).execute()}async function ga(t){await t.schema.dropIndex("idx_connections_org_type_pinned").ifExists().execute(),await t.schema.alterTable("connections").addColumn("subtype","text").execute(),await B`UPDATE connections SET subtype = 'project' WHERE pinned = true AND connection_type = 'VIRTUAL'`.execute(t),await B`UPDATE connections SET subtype = 'agent' WHERE pinned = false AND connection_type = 'VIRTUAL'`.execute(t),await B`ALTER TABLE connections ADD CONSTRAINT chk_connections_subtype CHECK (subtype IN ('agent', 'project') OR subtype IS NULL)`.execute(t),await t.schema.createIndex("idx_connections_org_type_subtype").on("connections").columns(["organization_id","connection_type","subtype"]).execute(),await t.schema.alterTable("connections").dropColumn("pinned").execute()}var jn={};i(jn,{up:()=>sa,down:()=>Va});async function sa(t){await t.schema.alterTable("automations").addColumn("virtual_mcp_id","text").execute(),await t.schema.createIndex("idx_automations_virtual_mcp").on("automations").columns(["virtual_mcp_id"]).execute()}async function Va(t){await t.schema.dropIndex("idx_automations_virtual_mcp").execute(),await t.schema.alterTable("automations").dropColumn("virtual_mcp_id").execute()}var Dn={};i(Dn,{up:()=>va,down:()=>qa});import{sql as b}from"kysely";async function va(t){await t.schema.alterTable("threads").addColumn("virtual_mcp_id","text",(n)=>n.notNull().defaultTo("")).execute(),await b`
|
|
226
226
|
UPDATE threads
|
|
227
227
|
SET virtual_mcp_id = (agent_ids::jsonb ->> 0)
|
|
228
228
|
WHERE agent_ids IS NOT NULL
|
|
@@ -239,24 +239,24 @@ var ke=Object.defineProperty;var $e=(t)=>t;function Xe(t,n){this[t]=$e.bind(null
|
|
|
239
239
|
THEN jsonb_build_array(virtual_mcp_id)::text
|
|
240
240
|
ELSE '[]'
|
|
241
241
|
END
|
|
242
|
-
`.execute(t),await b`DROP INDEX IF EXISTS idx_threads_virtual_mcp_id`.execute(t),await t.schema.alterTable("threads").dropColumn("virtual_mcp_id").execute()}var Jn={};i(Jn,{up:()=>la,down:()=>da});async function la(t){await t.schema.createTable("trigger_callback_tokens").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull()).addColumn("connection_id","text",(n)=>n.notNull().references("connections.id").onDelete("cascade")).addColumn("token_hash","text",(n)=>n.notNull().unique()).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo("now()")).execute(),await t.schema.createIndex("idx_trigger_callback_tokens_connection_org").on("trigger_callback_tokens").columns(["connection_id","organization_id"]).unique().execute()}async function da(t){await t.schema.dropTable("trigger_callback_tokens").execute()}var Ln={};i(Ln,{up:()=>ba,down:()=>tx});async function ba(t){await t.schema.createTable("kv").addColumn("organization_id","text",(n)=>n.notNull()).addColumn("key","text",(n)=>n.notNull()).addColumn("value","jsonb",(n)=>n.notNull()).addColumn("updated_at","timestamptz",(n)=>n.notNull().defaultTo("now()")).addPrimaryKeyConstraint("kv_pkey",["organization_id","key"]).execute()}async function tx(t){await t.schema.dropTable("kv").execute()}var Rn={};i(Rn,{up:()=>nx,down:()=>ux});async function nx(t){await t.schema.createIndex("idx_member_user_org").ifNotExists().on("member").columns(["userId","organizationId"]).execute()}async function ux(t){await t.schema.dropIndex("idx_member_user_org").execute()}var Wn={};i(Wn,{up:()=>ix,down:()=>ex});async function ix(t){await t.schema.createIndex("idx_downstream_tokens_connectionId").ifNotExists().on("downstream_tokens").column("connectionId").unique().execute()}async function ex(t){await t.schema.dropIndex("idx_downstream_tokens_connectionId").ifExists().execute()}var kn={};i(kn,{up:()=>_x,down:()=>ax});import{sql as w}from"kysely";async function _x(t){await t.schema.createTable("private_registry_item").ifNotExists().addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(n)=>n.notNull()).addColumn("description","text").addColumn("server_json","text",(n)=>n.notNull()).addColumn("meta_json","text").addColumn("tags","text").addColumn("categories","text").addColumn("is_public","integer",(n)=>n.notNull().defaultTo(0)).addColumn("created_at","text",(n)=>n.notNull().defaultTo(w`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(n)=>n.notNull().defaultTo(w`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(n)=>n.references("user.id").onDelete("set null")).execute(),await t.schema.createIndex("idx_private_registry_item_org").ifNotExists().on("private_registry_item").column("organization_id").execute(),await t.schema.createIndex("idx_private_registry_item_org_public").ifNotExists().on("private_registry_item").columns(["organization_id","is_public"]).execute(),await w`ALTER TABLE private_registry_item ADD COLUMN IF NOT EXISTS is_unlisted integer NOT NULL DEFAULT 0`.execute(t),await t.schema.createTable("private_registry_publish_request").ifNotExists().addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("status","text",(n)=>n.notNull().defaultTo("pending")).addColumn("title","text",(n)=>n.notNull()).addColumn("description","text").addColumn("server_json","text",(n)=>n.notNull()).addColumn("meta_json","text").addColumn("requester_name","text").addColumn("requester_email","text").addColumn("reviewer_notes","text").addColumn("created_at","text",(n)=>n.notNull().defaultTo(w`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(n)=>n.notNull().defaultTo(w`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_private_registry_publish_request_org_status").ifNotExists().on("private_registry_publish_request").columns(["organization_id","status"]).execute(),await w`ALTER TABLE private_registry_publish_request ADD COLUMN IF NOT EXISTS requested_id text`.execute(t),await t.schema.createTable("private_registry_publish_api_key").ifNotExists().addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("name","text",(n)=>n.notNull()).addColumn("key_hash","text",(n)=>n.notNull()).addColumn("prefix","text",(n)=>n.notNull()).addColumn("created_at","text",(n)=>n.notNull().defaultTo(w`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_private_registry_publish_api_key_org").ifNotExists().on("private_registry_publish_api_key").columns(["organization_id"]).execute(),await t.schema.createTable("private_registry_monitor_run").ifNotExists().addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("status","text",(n)=>n.notNull().defaultTo("pending")).addColumn("config_snapshot","text").addColumn("total_items","integer",(n)=>n.notNull().defaultTo(0)).addColumn("tested_items","integer",(n)=>n.notNull().defaultTo(0)).addColumn("passed_items","integer",(n)=>n.notNull().defaultTo(0)).addColumn("failed_items","integer",(n)=>n.notNull().defaultTo(0)).addColumn("skipped_items","integer",(n)=>n.notNull().defaultTo(0)).addColumn("current_item_id","text").addColumn("started_at","text").addColumn("finished_at","text").addColumn("created_at","text",(n)=>n.notNull().defaultTo(w`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_private_registry_monitor_run_org_created").ifNotExists().on("private_registry_monitor_run").columns(["organization_id","created_at"]).execute(),await t.schema.createTable("private_registry_monitor_result").ifNotExists().addColumn("id","text",(n)=>n.primaryKey()).addColumn("run_id","text",(n)=>n.notNull().references("private_registry_monitor_run.id").onDelete("cascade")).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("item_id","text",(n)=>n.notNull()).addColumn("item_title","text",(n)=>n.notNull()).addColumn("status","text",(n)=>n.notNull()).addColumn("error_message","text").addColumn("connection_ok","integer",(n)=>n.notNull().defaultTo(0)).addColumn("tools_listed","integer",(n)=>n.notNull().defaultTo(0)).addColumn("tool_results","text").addColumn("agent_summary","text").addColumn("duration_ms","integer",(n)=>n.notNull().defaultTo(0)).addColumn("action_taken","text",(n)=>n.notNull().defaultTo("none")).addColumn("tested_at","text",(n)=>n.notNull().defaultTo(w`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_private_registry_monitor_result_run").ifNotExists().on("private_registry_monitor_result").columns(["run_id","tested_at"]).execute(),await t.schema.createIndex("idx_private_registry_monitor_result_run_status").ifNotExists().on("private_registry_monitor_result").columns(["run_id","status"]).execute(),await t.schema.createTable("private_registry_monitor_connection").ifNotExists().addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("item_id","text",(n)=>n.notNull()).addColumn("connection_id","text",(n)=>n.notNull().references("connections.id").onDelete("cascade")).addColumn("auth_status","text",(n)=>n.notNull().defaultTo("none")).addColumn("created_at","text",(n)=>n.notNull().defaultTo(w`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(n)=>n.notNull().defaultTo(w`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_private_registry_monitor_connection_org_item").ifNotExists().on("private_registry_monitor_connection").columns(["organization_id","item_id"]).unique().execute()}async function ax(t){await t.schema.dropIndex("idx_private_registry_monitor_connection_org_item").ifExists().execute(),await t.schema.dropTable("private_registry_monitor_connection").ifExists().execute(),await t.schema.dropIndex("idx_private_registry_monitor_result_run_status").ifExists().execute(),await t.schema.dropIndex("idx_private_registry_monitor_result_run").ifExists().execute(),await t.schema.dropTable("private_registry_monitor_result").ifExists().execute(),await t.schema.dropIndex("idx_private_registry_monitor_run_org_created").ifExists().execute(),await t.schema.dropTable("private_registry_monitor_run").ifExists().execute(),await t.schema.dropIndex("idx_private_registry_publish_api_key_org").ifExists().execute(),await t.schema.dropTable("private_registry_publish_api_key").ifExists().execute(),await t.schema.dropIndex("idx_private_registry_publish_request_org_status").ifExists().execute(),await t.schema.dropTable("private_registry_publish_request").ifExists().execute(),await t.schema.dropIndex("idx_private_registry_item_org_public").ifExists().execute(),await t.schema.dropIndex("idx_private_registry_item_org").ifExists().execute(),await t.schema.dropTable("private_registry_item").ifExists().execute()}var $n={};i($n,{up:()=>xx,down:()=>mx});import{sql as
|
|
242
|
+
`.execute(t),await b`DROP INDEX IF EXISTS idx_threads_virtual_mcp_id`.execute(t),await t.schema.alterTable("threads").dropColumn("virtual_mcp_id").execute()}var Jn={};i(Jn,{up:()=>la,down:()=>da});async function la(t){await t.schema.createTable("trigger_callback_tokens").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull()).addColumn("connection_id","text",(n)=>n.notNull().references("connections.id").onDelete("cascade")).addColumn("token_hash","text",(n)=>n.notNull().unique()).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo("now()")).execute(),await t.schema.createIndex("idx_trigger_callback_tokens_connection_org").on("trigger_callback_tokens").columns(["connection_id","organization_id"]).unique().execute()}async function da(t){await t.schema.dropTable("trigger_callback_tokens").execute()}var Ln={};i(Ln,{up:()=>ba,down:()=>tx});async function ba(t){await t.schema.createTable("kv").addColumn("organization_id","text",(n)=>n.notNull()).addColumn("key","text",(n)=>n.notNull()).addColumn("value","jsonb",(n)=>n.notNull()).addColumn("updated_at","timestamptz",(n)=>n.notNull().defaultTo("now()")).addPrimaryKeyConstraint("kv_pkey",["organization_id","key"]).execute()}async function tx(t){await t.schema.dropTable("kv").execute()}var Rn={};i(Rn,{up:()=>nx,down:()=>ux});async function nx(t){await t.schema.createIndex("idx_member_user_org").ifNotExists().on("member").columns(["userId","organizationId"]).execute()}async function ux(t){await t.schema.dropIndex("idx_member_user_org").execute()}var Wn={};i(Wn,{up:()=>ix,down:()=>ex});async function ix(t){await t.schema.createIndex("idx_downstream_tokens_connectionId").ifNotExists().on("downstream_tokens").column("connectionId").unique().execute()}async function ex(t){await t.schema.dropIndex("idx_downstream_tokens_connectionId").ifExists().execute()}var kn={};i(kn,{up:()=>_x,down:()=>ax});import{sql as w}from"kysely";async function _x(t){await t.schema.createTable("private_registry_item").ifNotExists().addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(n)=>n.notNull()).addColumn("description","text").addColumn("server_json","text",(n)=>n.notNull()).addColumn("meta_json","text").addColumn("tags","text").addColumn("categories","text").addColumn("is_public","integer",(n)=>n.notNull().defaultTo(0)).addColumn("created_at","text",(n)=>n.notNull().defaultTo(w`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(n)=>n.notNull().defaultTo(w`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(n)=>n.references("user.id").onDelete("set null")).execute(),await t.schema.createIndex("idx_private_registry_item_org").ifNotExists().on("private_registry_item").column("organization_id").execute(),await t.schema.createIndex("idx_private_registry_item_org_public").ifNotExists().on("private_registry_item").columns(["organization_id","is_public"]).execute(),await w`ALTER TABLE private_registry_item ADD COLUMN IF NOT EXISTS is_unlisted integer NOT NULL DEFAULT 0`.execute(t),await t.schema.createTable("private_registry_publish_request").ifNotExists().addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("status","text",(n)=>n.notNull().defaultTo("pending")).addColumn("title","text",(n)=>n.notNull()).addColumn("description","text").addColumn("server_json","text",(n)=>n.notNull()).addColumn("meta_json","text").addColumn("requester_name","text").addColumn("requester_email","text").addColumn("reviewer_notes","text").addColumn("created_at","text",(n)=>n.notNull().defaultTo(w`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(n)=>n.notNull().defaultTo(w`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_private_registry_publish_request_org_status").ifNotExists().on("private_registry_publish_request").columns(["organization_id","status"]).execute(),await w`ALTER TABLE private_registry_publish_request ADD COLUMN IF NOT EXISTS requested_id text`.execute(t),await t.schema.createTable("private_registry_publish_api_key").ifNotExists().addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("name","text",(n)=>n.notNull()).addColumn("key_hash","text",(n)=>n.notNull()).addColumn("prefix","text",(n)=>n.notNull()).addColumn("created_at","text",(n)=>n.notNull().defaultTo(w`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_private_registry_publish_api_key_org").ifNotExists().on("private_registry_publish_api_key").columns(["organization_id"]).execute(),await t.schema.createTable("private_registry_monitor_run").ifNotExists().addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("status","text",(n)=>n.notNull().defaultTo("pending")).addColumn("config_snapshot","text").addColumn("total_items","integer",(n)=>n.notNull().defaultTo(0)).addColumn("tested_items","integer",(n)=>n.notNull().defaultTo(0)).addColumn("passed_items","integer",(n)=>n.notNull().defaultTo(0)).addColumn("failed_items","integer",(n)=>n.notNull().defaultTo(0)).addColumn("skipped_items","integer",(n)=>n.notNull().defaultTo(0)).addColumn("current_item_id","text").addColumn("started_at","text").addColumn("finished_at","text").addColumn("created_at","text",(n)=>n.notNull().defaultTo(w`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_private_registry_monitor_run_org_created").ifNotExists().on("private_registry_monitor_run").columns(["organization_id","created_at"]).execute(),await t.schema.createTable("private_registry_monitor_result").ifNotExists().addColumn("id","text",(n)=>n.primaryKey()).addColumn("run_id","text",(n)=>n.notNull().references("private_registry_monitor_run.id").onDelete("cascade")).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("item_id","text",(n)=>n.notNull()).addColumn("item_title","text",(n)=>n.notNull()).addColumn("status","text",(n)=>n.notNull()).addColumn("error_message","text").addColumn("connection_ok","integer",(n)=>n.notNull().defaultTo(0)).addColumn("tools_listed","integer",(n)=>n.notNull().defaultTo(0)).addColumn("tool_results","text").addColumn("agent_summary","text").addColumn("duration_ms","integer",(n)=>n.notNull().defaultTo(0)).addColumn("action_taken","text",(n)=>n.notNull().defaultTo("none")).addColumn("tested_at","text",(n)=>n.notNull().defaultTo(w`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_private_registry_monitor_result_run").ifNotExists().on("private_registry_monitor_result").columns(["run_id","tested_at"]).execute(),await t.schema.createIndex("idx_private_registry_monitor_result_run_status").ifNotExists().on("private_registry_monitor_result").columns(["run_id","status"]).execute(),await t.schema.createTable("private_registry_monitor_connection").ifNotExists().addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("item_id","text",(n)=>n.notNull()).addColumn("connection_id","text",(n)=>n.notNull().references("connections.id").onDelete("cascade")).addColumn("auth_status","text",(n)=>n.notNull().defaultTo("none")).addColumn("created_at","text",(n)=>n.notNull().defaultTo(w`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(n)=>n.notNull().defaultTo(w`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_private_registry_monitor_connection_org_item").ifNotExists().on("private_registry_monitor_connection").columns(["organization_id","item_id"]).unique().execute()}async function ax(t){await t.schema.dropIndex("idx_private_registry_monitor_connection_org_item").ifExists().execute(),await t.schema.dropTable("private_registry_monitor_connection").ifExists().execute(),await t.schema.dropIndex("idx_private_registry_monitor_result_run_status").ifExists().execute(),await t.schema.dropIndex("idx_private_registry_monitor_result_run").ifExists().execute(),await t.schema.dropTable("private_registry_monitor_result").ifExists().execute(),await t.schema.dropIndex("idx_private_registry_monitor_run_org_created").ifExists().execute(),await t.schema.dropTable("private_registry_monitor_run").ifExists().execute(),await t.schema.dropIndex("idx_private_registry_publish_api_key_org").ifExists().execute(),await t.schema.dropTable("private_registry_publish_api_key").ifExists().execute(),await t.schema.dropIndex("idx_private_registry_publish_request_org_status").ifExists().execute(),await t.schema.dropTable("private_registry_publish_request").ifExists().execute(),await t.schema.dropIndex("idx_private_registry_item_org_public").ifExists().execute(),await t.schema.dropIndex("idx_private_registry_item_org").ifExists().execute(),await t.schema.dropTable("private_registry_item").ifExists().execute()}var $n={};i($n,{up:()=>xx,down:()=>mx});import{sql as Q}from"kysely";async function xx(t){await Q`
|
|
243
243
|
ALTER TABLE event_subscriptions
|
|
244
244
|
ALTER COLUMN enabled DROP DEFAULT
|
|
245
|
-
`.execute(t),await
|
|
245
|
+
`.execute(t),await Q`
|
|
246
246
|
ALTER TABLE event_subscriptions
|
|
247
247
|
ALTER COLUMN enabled TYPE boolean
|
|
248
248
|
USING enabled::boolean
|
|
249
|
-
`.execute(t),await
|
|
249
|
+
`.execute(t),await Q`
|
|
250
250
|
ALTER TABLE event_subscriptions
|
|
251
251
|
ALTER COLUMN enabled SET DEFAULT true
|
|
252
|
-
`.execute(t)}async function mx(t){await
|
|
252
|
+
`.execute(t)}async function mx(t){await Q`
|
|
253
253
|
ALTER TABLE event_subscriptions
|
|
254
254
|
ALTER COLUMN enabled DROP DEFAULT
|
|
255
|
-
`.execute(t),await
|
|
255
|
+
`.execute(t),await Q`
|
|
256
256
|
ALTER TABLE event_subscriptions
|
|
257
257
|
ALTER COLUMN enabled TYPE integer
|
|
258
258
|
USING enabled::integer
|
|
259
|
-
`.execute(t),await
|
|
259
|
+
`.execute(t),await Q`
|
|
260
260
|
ALTER TABLE event_subscriptions
|
|
261
261
|
ALTER COLUMN enabled SET DEFAULT 1
|
|
262
262
|
`.execute(t)}var Xn={};i(Xn,{up:()=>ox,down:()=>yx});import{sql as Ai}from"kysely";async function ox(t){await t.schema.createTable("brand_context").addColumn("id","text",(n)=>n.primaryKey().notNull()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("name","text",(n)=>n.notNull()).addColumn("domain","text",(n)=>n.notNull()).addColumn("overview","text",(n)=>n.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",(n)=>n.notNull().defaultTo(!1)).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(Ai`now()`)).addColumn("updated_at","timestamptz",(n)=>n.notNull().defaultTo(Ai`now()`)).execute(),await t.schema.createIndex("brand_context_organization_id_idx").on("brand_context").column("organization_id").execute()}async function yx(t){await t.schema.dropTable("brand_context").execute()}var Qn={};i(Qn,{up:()=>Tx,down:()=>Cx});import{sql as Bi}from"kysely";async function Tx(t){await t.schema.createTable("organization_domains").addColumn("organization_id","text",(n)=>n.primaryKey().notNull().references("organization.id").onDelete("cascade")).addColumn("domain","text",(n)=>n.notNull().unique()).addColumn("auto_join_enabled","boolean",(n)=>n.notNull().defaultTo(!1)).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(Bi`now()`)).addColumn("updated_at","timestamptz",(n)=>n.notNull().defaultTo(Bi`now()`)).execute()}async function Cx(t){await t.schema.dropTable("organization_domains").execute()}var Zn={};i(Zn,{up:()=>wx,down:()=>Kx});import{sql as Si}from"kysely";var tt=new Set(["primary","secondary","accent","background","foreground"]),Nx={heading:"heading",headings:"heading",head:"heading",title:"heading",body:"body",primary:"body",text:"body",code:"code",monospace:"code",mono:"code"};function Ex(t){let n={};if(!t)return{structured:null,extra:n};if(!Array.isArray(t)&&typeof t==="object"){let u=t;if(Object.keys(u).some((e)=>tt.has(e))){let e={};for(let[a,m]of Object.entries(u)){if(typeof m!=="string")continue;if(tt.has(a))e[a]=m;else n[a]=m}return{structured:Object.keys(e).length>0?JSON.stringify(e):null,extra:n}}let _={};for(let[e,a]of Object.entries(u)){if(typeof a!=="string")continue;if(tt.has(e.toLowerCase()))_[e.toLowerCase()]=a;else n[e]=a}return{structured:Object.keys(_).length>0?JSON.stringify(_):null,extra:n}}if(Array.isArray(t)){let u={};for(let _ of t){let e=_,a=e.label?.toLowerCase?.(),m=e.value;if(!a||!m)continue;if(tt.has(a))u[a]=m;else n[a]=m}return{structured:Object.keys(u).length>0?JSON.stringify(u):null,extra:n}}return{structured:null,extra:n}}function fx(t){if(!t)return null;if(!Array.isArray(t)&&typeof t==="object"){let n=t;if(typeof n.heading==="string"||typeof n.body==="string"||typeof n.code==="string")return JSON.stringify(n);return null}if(Array.isArray(t)){let n={},u=[];for(let _ of t){let e=_,a=e.name??e.family??void 0,m=e.role?.toLowerCase?.()??"";if(!a)continue;let x=Nx[m];if(x&&!n[x])n[x]=a;else u.push(a)}if(!n.body&&u[0])n.body=u[0];return Object.keys(n).length>0?JSON.stringify(n):null}return null}async function wx(t){let n=await Si`SELECT id, colors, fonts, metadata FROM brand_context`.execute(t);for(let u of n.rows){let _=!1,e=!1,a=!1,m=u.colors,x=u.fonts,o={};try{o=u.metadata?JSON.parse(u.metadata):{}}catch{}if(u.colors)try{let y=JSON.parse(u.colors);if(Array.isArray(y)){let T=Ex(y);if(m=T.structured,_=!0,Object.keys(T.extra).length>0)o.extraColors=T.extra,a=!0}}catch{}if(u.fonts)try{let y=JSON.parse(u.fonts);if(Array.isArray(y))x=fx(y),e=!0}catch{}if(_||e||a){let y=a?JSON.stringify(o):u.metadata;await Si`
|
|
@@ -267,7 +267,7 @@ var ke=Object.defineProperty;var $e=(t)=>t;function Xe(t,n){this[t]=$e.bind(null
|
|
|
267
267
|
metadata = ${y},
|
|
268
268
|
updated_at = NOW()
|
|
269
269
|
WHERE id = ${u.id}
|
|
270
|
-
`.execute(t)}}}async function Kx(t){}var Fn={};i(Fn,{up:()=>px,down:()=>zx});import{sql as cx}from"kysely";async function px(t){await t.schema.alterTable("threads").addColumn("metadata","jsonb",(n)=>n.notNull().defaultTo(cx`'{}'::jsonb`)).execute()}async function zx(t){await t.schema.alterTable("threads").dropColumn("metadata").execute()}var Hn={};i(Hn,{up:()=>Px,down:()=>rx});async function Px(t){await t.schema.alterTable("threads").addColumn("branch","text").execute()}async function rx(t){await t.schema.alterTable("threads").dropColumn("branch").execute()}var Mn={};i(Mn,{up:()=>Ux,down:()=>
|
|
270
|
+
`.execute(t)}}}async function Kx(t){}var Fn={};i(Fn,{up:()=>px,down:()=>zx});import{sql as cx}from"kysely";async function px(t){await t.schema.alterTable("threads").addColumn("metadata","jsonb",(n)=>n.notNull().defaultTo(cx`'{}'::jsonb`)).execute()}async function zx(t){await t.schema.alterTable("threads").dropColumn("metadata").execute()}var Hn={};i(Hn,{up:()=>Px,down:()=>rx});async function Px(t){await t.schema.alterTable("threads").addColumn("branch","text").execute()}async function rx(t){await t.schema.alterTable("threads").dropColumn("branch").execute()}var Mn={};i(Mn,{up:()=>Ux,down:()=>jx});async function Ux(t){await t.schema.createTable("sandbox_runner_state").addColumn("user_id","text",(n)=>n.notNull()).addColumn("project_ref","text",(n)=>n.notNull()).addColumn("runner_kind","text",(n)=>n.notNull()).addColumn("handle","text",(n)=>n.notNull()).addColumn("state","jsonb",(n)=>n.notNull()).addColumn("updated_at","timestamptz",(n)=>n.notNull().defaultTo("now()")).addPrimaryKeyConstraint("sandbox_runner_state_pkey",["user_id","project_ref","runner_kind"]).execute(),await t.schema.createIndex("sandbox_runner_state_handle_idx").on("sandbox_runner_state").column("handle").unique().execute()}async function jx(t){await t.schema.dropTable("sandbox_runner_state").execute()}var Yn={};i(Yn,{up:()=>Dx,down:()=>Jx});async function Dx(t){await t.schema.alterTable("organization_settings").addColumn("simple_mode","text").execute()}async function Jx(t){await t.schema.alterTable("organization_settings").dropColumn("simple_mode").execute()}var hn={};i(hn,{up:()=>Lx,down:()=>Rx});async function Lx(t){await t.schema.alterTable("organization_settings").addColumn("default_home_agents","text").execute()}async function Rx(t){await t.schema.alterTable("organization_settings").dropColumn("default_home_agents").execute()}var An={};i(An,{up:()=>Wx,down:()=>kx});async function Wx(t){await t.schema.alterTable("ai_provider_keys").addColumn("preset_id","text").execute()}async function kx(t){await t.schema.alterTable("ai_provider_keys").dropColumn("preset_id").execute()}var Bn={};i(Bn,{up:()=>Xx,down:()=>Qx});import{sql as Oi}from"kysely";var $x=["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 Xx(t){let n=await Oi`
|
|
271
271
|
SELECT id, permission FROM "organizationRole"
|
|
272
272
|
`.execute(t);for(let u of n.rows){if(!u.permission)continue;let _;try{_=JSON.parse(u.permission)}catch{continue}let e=_.self;if(!Array.isArray(e))continue;if(e.length===1&&e[0]==="*")continue;let a=e,m=Array.from(new Set([...a,...$x]));if(m.length===a.length)continue;_.self=m;let x=JSON.stringify(_);await Oi`
|
|
273
273
|
UPDATE "organizationRole"
|
|
@@ -331,20 +331,20 @@ var ke=Object.defineProperty;var $e=(t)=>t;function Xe(t,n){this[t]=$e.bind(null
|
|
|
331
331
|
ALTER TABLE async_research_jobs
|
|
332
332
|
ADD CONSTRAINT chk_async_research_jobs_status
|
|
333
333
|
CHECK (status IN ('pending','polling','completed','failed','cancelled','abandoned'))
|
|
334
|
-
`.execute(t)}async function lx(t){await t.schema.dropTable("async_research_jobs").ifExists().execute()}var qn={};i(qn,{up:()=>dx,down:()=>bx});async function dx(t){await t.schema.alterTable("async_research_jobs").addColumn("result_content","text").execute()}async function bx(t){await t.schema.alterTable("async_research_jobs").dropColumn("result_content").execute()}var ln={};i(ln,{up:()=>tm,down:()=>nm});import{sql as
|
|
334
|
+
`.execute(t)}async function lx(t){await t.schema.dropTable("async_research_jobs").ifExists().execute()}var qn={};i(qn,{up:()=>dx,down:()=>bx});async function dx(t){await t.schema.alterTable("async_research_jobs").addColumn("result_content","text").execute()}async function bx(t){await t.schema.alterTable("async_research_jobs").dropColumn("result_content").execute()}var ln={};i(ln,{up:()=>tm,down:()=>nm});import{sql as Z}from"kysely";async function tm(t){await t.schema.createTable("secrets").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("scope","text",(n)=>n.notNull()).addColumn("user_id","text",(n)=>n.references("user.id").onDelete("cascade")).addColumn("name","text",(n)=>n.notNull()).addColumn("encrypted_value","text",(n)=>n.notNull()).addColumn("description","text").addColumn("created_by","text",(n)=>n.notNull()).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(Z`CURRENT_TIMESTAMP`)).addColumn("updated_by","text",(n)=>n.notNull()).addColumn("updated_at","timestamptz",(n)=>n.notNull().defaultTo(Z`CURRENT_TIMESTAMP`)).execute(),await Z`
|
|
335
335
|
ALTER TABLE secrets
|
|
336
336
|
ADD CONSTRAINT chk_secrets_scope CHECK (scope IN ('user', 'organization'))
|
|
337
|
-
`.execute(t),await
|
|
337
|
+
`.execute(t),await Z`
|
|
338
338
|
ALTER TABLE secrets
|
|
339
339
|
ADD CONSTRAINT chk_secrets_scope_user_id CHECK (
|
|
340
340
|
(scope = 'user' AND user_id IS NOT NULL)
|
|
341
341
|
OR (scope = 'organization' AND user_id IS NULL)
|
|
342
342
|
)
|
|
343
|
-
`.execute(t),await t.schema.createIndex("idx_secrets_org").on("secrets").column("organization_id").execute(),await
|
|
343
|
+
`.execute(t),await t.schema.createIndex("idx_secrets_org").on("secrets").column("organization_id").execute(),await Z`
|
|
344
344
|
CREATE UNIQUE INDEX idx_secrets_user_name
|
|
345
345
|
ON secrets (organization_id, user_id, lower(name))
|
|
346
346
|
WHERE scope = 'user'
|
|
347
|
-
`.execute(t),await
|
|
347
|
+
`.execute(t),await Z`
|
|
348
348
|
CREATE UNIQUE INDEX idx_secrets_org_name
|
|
349
349
|
ON secrets (organization_id, lower(name))
|
|
350
350
|
WHERE scope = 'organization'
|
|
@@ -790,30 +790,30 @@ var ke=Object.defineProperty;var $e=(t)=>t;function Xe(t,n){this[t]=$e.bind(null
|
|
|
790
790
|
WHERE c.connection_type = 'VIRTUAL'
|
|
791
791
|
AND c.metadata IS NOT NULL
|
|
792
792
|
AND (c.metadata LIKE '%"VM_START"%' OR c.metadata LIKE '%"VM_DELETE"%')
|
|
793
|
-
`.execute(t)}async function Um(t){}var mu={};i(mu,{up:()=>
|
|
793
|
+
`.execute(t)}async function Um(t){}var mu={};i(mu,{up:()=>Dm,down:()=>Jm});import{sql as li}from"kysely";var jm=["GLOBAL_SEARCH"];async function Dm(t){let n=await li`
|
|
794
794
|
SELECT id, permission FROM "organizationRole"
|
|
795
|
-
`.execute(t);for(let u of n.rows){if(!u.permission)continue;let _;try{_=JSON.parse(u.permission)}catch{continue}let e=_.self;if(!Array.isArray(e))continue;if(e.length===1&&e[0]==="*")continue;let a=e,m=Array.from(new Set([...a,...
|
|
795
|
+
`.execute(t);for(let u of n.rows){if(!u.permission)continue;let _;try{_=JSON.parse(u.permission)}catch{continue}let e=_.self;if(!Array.isArray(e))continue;if(e.length===1&&e[0]==="*")continue;let a=e,m=Array.from(new Set([...a,...jm]));if(m.length===a.length)continue;_.self=m;let x=JSON.stringify(_);await li`
|
|
796
796
|
UPDATE "organizationRole"
|
|
797
797
|
SET permission = ${x}
|
|
798
798
|
WHERE id = ${u.id}
|
|
799
799
|
`.execute(t)}}async function Jm(t){}var yu={};i(yu,{up:()=>Lm,down:()=>Rm});import{sql as ou}from"kysely";async function Lm(t){await t.schema.createTable("org_file_configs").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("name","text",(n)=>n.notNull()).addColumn("description","text").addColumn("bucket","text",(n)=>n.notNull()).addColumn("region","text",(n)=>n.notNull()).addColumn("endpoint","text").addColumn("force_path_style","boolean",(n)=>n.notNull().defaultTo(!1)).addColumn("prefix","text").addColumn("encrypted_credentials","text",(n)=>n.notNull()).addColumn("created_by","text",(n)=>n.notNull()).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(ou`CURRENT_TIMESTAMP`)).addColumn("updated_by","text",(n)=>n.notNull()).addColumn("updated_at","timestamptz",(n)=>n.notNull().defaultTo(ou`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_org_file_configs_org").on("org_file_configs").column("organization_id").execute(),await ou`
|
|
800
800
|
CREATE UNIQUE INDEX idx_org_file_configs_org_name
|
|
801
801
|
ON org_file_configs (organization_id, lower(name))
|
|
802
|
-
`.execute(t)}async function Rm(t){await t.schema.dropTable("org_file_configs").execute()}var Tu={};i(Tu,{up:()=>Wm,down:()=>km});import{sql as
|
|
802
|
+
`.execute(t)}async function Rm(t){await t.schema.dropTable("org_file_configs").execute()}var Tu={};i(Tu,{up:()=>Wm,down:()=>km});import{sql as j}from"kysely";async function Wm(t){await j`ALTER TABLE automations DROP CONSTRAINT chk_automation_tool_call_fields`.execute(t),await j`ALTER TABLE automations DROP CONSTRAINT chk_automation_agent_fields`.execute(t),await j`ALTER TABLE automations DROP CONSTRAINT chk_automation_kind`.execute(t),await j`DELETE FROM automations WHERE kind = 'tool_call'`.execute(t),await j`
|
|
803
803
|
ALTER TABLE automations
|
|
804
804
|
ALTER COLUMN virtual_mcp_id SET NOT NULL
|
|
805
|
-
`.execute(t),await t.schema.alterTable("automations").dropColumn("tool_input").dropColumn("tool_name").dropColumn("connection_id").dropColumn("kind").execute()}async function km(t){await t.schema.alterTable("automations").addColumn("kind","text",(n)=>n.notNull().defaultTo("agent")).addColumn("connection_id","text").addColumn("tool_name","text").addColumn("tool_input","text").execute(),await
|
|
805
|
+
`.execute(t),await t.schema.alterTable("automations").dropColumn("tool_input").dropColumn("tool_name").dropColumn("connection_id").dropColumn("kind").execute()}async function km(t){await t.schema.alterTable("automations").addColumn("kind","text",(n)=>n.notNull().defaultTo("agent")).addColumn("connection_id","text").addColumn("tool_name","text").addColumn("tool_input","text").execute(),await j`
|
|
806
806
|
ALTER TABLE automations
|
|
807
807
|
ALTER COLUMN virtual_mcp_id DROP NOT NULL
|
|
808
|
-
`.execute(t),await
|
|
808
|
+
`.execute(t),await j`
|
|
809
809
|
ALTER TABLE automations
|
|
810
810
|
ADD CONSTRAINT chk_automation_kind
|
|
811
811
|
CHECK (kind IN ('agent', 'tool_call'))
|
|
812
|
-
`.execute(t),await
|
|
812
|
+
`.execute(t),await j`
|
|
813
813
|
ALTER TABLE automations
|
|
814
814
|
ADD CONSTRAINT chk_automation_agent_fields
|
|
815
815
|
CHECK (kind != 'agent' OR virtual_mcp_id IS NOT NULL)
|
|
816
|
-
`.execute(t),await
|
|
816
|
+
`.execute(t),await j`
|
|
817
817
|
ALTER TABLE automations
|
|
818
818
|
ADD CONSTRAINT chk_automation_tool_call_fields
|
|
819
819
|
CHECK (
|
|
@@ -833,7 +833,7 @@ var ke=Object.defineProperty;var $e=(t)=>t;function Xe(t,n){this[t]=$e.bind(null
|
|
|
833
833
|
UPDATE "connections"
|
|
834
834
|
SET metadata = ${x}
|
|
835
835
|
WHERE id = ${u.id}
|
|
836
|
-
`.execute(t)}}async function Zm(t){}var fu={};i(fu,{up:()=>Fm,down:()=>Hm});import{sql as _t}from"kysely";async function Fm(t){await t.schema.createTable("thread_message_parts").addColumn("id","text",(n)=>n.primaryKey()).addColumn("seq","integer",(n)=>n.notNull()).addColumn("org_id","text",(n)=>n.notNull()).addColumn("thread_id","text",(n)=>n.notNull().references("threads.id").onDelete("cascade")).addColumn("run_id","text",(n)=>n.notNull()).addColumn("message_id","text",(n)=>n.notNull()).addColumn("role","text",(n)=>n.notNull()).addColumn("kind","text",(n)=>n.notNull()).addColumn("payload","jsonb",(n)=>n.notNull()).addColumn("payload_ref","text").addColumn("metadata","jsonb").addColumn("created_at","text",(n)=>n.notNull()).execute(),await _t`CREATE UNIQUE INDEX idx_tmp_run_seq ON thread_message_parts (run_id, seq)`.execute(t),await _t`CREATE INDEX idx_tmp_thread_created_id ON thread_message_parts (thread_id, created_at, id)`.execute(t),await _t`CREATE INDEX idx_tmp_finish_anchor ON thread_message_parts (thread_id, created_at DESC, id DESC) WHERE kind = 'finish'`.execute(t),await _t`CREATE INDEX idx_tmp_message ON thread_message_parts (thread_id, message_id)`.execute(t),await t.schema.alterTable("threads").addColumn("message_storage_version","integer",(n)=>n.notNull().defaultTo(1)).addColumn("last_progress_at","timestamptz").execute()}async function Hm(t){await t.schema.alterTable("threads").dropColumn("message_storage_version").dropColumn("last_progress_at").execute(),await t.schema.dropTable("thread_message_parts").ifExists().execute()}var wu={};i(wu,{up:()=>Mm,down:()=>Ym});async function Mm(t){await t.schema.alterTable("threads").addColumn("run_fence_token","text").execute()}async function Ym(t){await t.schema.alterTable("threads").dropColumn("run_fence_token").execute()}var Ku={};i(Ku,{up:()=>hm,down:()=>Am});async function hm(t){await t.schema.alterTable("threads").addColumn("link_transport","text").execute()}async function Am(t){await t.schema.alterTable("threads").dropColumn("link_transport").execute()}var cu={};i(cu,{up:()=>Bm,down:()=>Sm});async function Bm(t){await t.schema.alterTable("threads").addColumn("cancel_requested_at","timestamptz").execute()}async function Sm(t){await t.schema.alterTable("threads").dropColumn("cancel_requested_at").execute()}var pu={};i(pu,{up:()=>Om,down:()=>Gm});async function Om(t){await t.schema.alterTable("organization_settings").addColumn("observational_config","text").execute(),await t.schema.alterTable("threads").addColumn("is_observation","boolean",(n)=>n.notNull().defaultTo(!1)).execute(),await t.schema.createTable("thread_observations").addColumn("thread_id","text",(n)=>n.notNull().references("threads.id").onDelete("cascade")).addColumn("observer_id","text",(n)=>n.notNull()).addColumn("last_observed_at","text",(n)=>n.notNull()).addPrimaryKeyConstraint("thread_observations_pkey",["thread_id","observer_id"]).execute()}async function Gm(t){await t.schema.dropTable("thread_observations").execute(),await t.schema.alterTable("threads").dropColumn("is_observation").execute(),await t.schema.alterTable("organization_settings").dropColumn("observational_config").execute()}var zu={};i(zu,{up:()=>Im,down:()=>gm});async function Im(t){await t.schema.dropTable("thread_observations").ifExists().execute(),await t.schema.alterTable("threads").dropColumn("is_observation").execute(),await t.schema.alterTable("organization_settings").dropColumn("observational_config").execute()}async function gm(t){await t.schema.alterTable("organization_settings").addColumn("observational_config","text").execute(),await t.schema.alterTable("threads").addColumn("is_observation","boolean",(n)=>n.notNull().defaultTo(!1)).execute(),await t.schema.createTable("thread_observations").addColumn("thread_id","text",(n)=>n.notNull().references("threads.id").onDelete("cascade")).addColumn("observer_id","text",(n)=>n.notNull()).addColumn("last_observed_at","text",(n)=>n.notNull()).addPrimaryKeyConstraint("thread_observations_pkey",["thread_id","observer_id"]).execute()}var ru={};i(ru,{up:()=>Vm,down:()=>vm});import{sql as r}from"kysely";var K="cluster",c="agent-sandbox";function
|
|
836
|
+
`.execute(t)}}async function Zm(t){}var fu={};i(fu,{up:()=>Fm,down:()=>Hm});import{sql as _t}from"kysely";async function Fm(t){await t.schema.createTable("thread_message_parts").addColumn("id","text",(n)=>n.primaryKey()).addColumn("seq","integer",(n)=>n.notNull()).addColumn("org_id","text",(n)=>n.notNull()).addColumn("thread_id","text",(n)=>n.notNull().references("threads.id").onDelete("cascade")).addColumn("run_id","text",(n)=>n.notNull()).addColumn("message_id","text",(n)=>n.notNull()).addColumn("role","text",(n)=>n.notNull()).addColumn("kind","text",(n)=>n.notNull()).addColumn("payload","jsonb",(n)=>n.notNull()).addColumn("payload_ref","text").addColumn("metadata","jsonb").addColumn("created_at","text",(n)=>n.notNull()).execute(),await _t`CREATE UNIQUE INDEX idx_tmp_run_seq ON thread_message_parts (run_id, seq)`.execute(t),await _t`CREATE INDEX idx_tmp_thread_created_id ON thread_message_parts (thread_id, created_at, id)`.execute(t),await _t`CREATE INDEX idx_tmp_finish_anchor ON thread_message_parts (thread_id, created_at DESC, id DESC) WHERE kind = 'finish'`.execute(t),await _t`CREATE INDEX idx_tmp_message ON thread_message_parts (thread_id, message_id)`.execute(t),await t.schema.alterTable("threads").addColumn("message_storage_version","integer",(n)=>n.notNull().defaultTo(1)).addColumn("last_progress_at","timestamptz").execute()}async function Hm(t){await t.schema.alterTable("threads").dropColumn("message_storage_version").dropColumn("last_progress_at").execute(),await t.schema.dropTable("thread_message_parts").ifExists().execute()}var wu={};i(wu,{up:()=>Mm,down:()=>Ym});async function Mm(t){await t.schema.alterTable("threads").addColumn("run_fence_token","text").execute()}async function Ym(t){await t.schema.alterTable("threads").dropColumn("run_fence_token").execute()}var Ku={};i(Ku,{up:()=>hm,down:()=>Am});async function hm(t){await t.schema.alterTable("threads").addColumn("link_transport","text").execute()}async function Am(t){await t.schema.alterTable("threads").dropColumn("link_transport").execute()}var cu={};i(cu,{up:()=>Bm,down:()=>Sm});async function Bm(t){await t.schema.alterTable("threads").addColumn("cancel_requested_at","timestamptz").execute()}async function Sm(t){await t.schema.alterTable("threads").dropColumn("cancel_requested_at").execute()}var pu={};i(pu,{up:()=>Om,down:()=>Gm});async function Om(t){await t.schema.alterTable("organization_settings").addColumn("observational_config","text").execute(),await t.schema.alterTable("threads").addColumn("is_observation","boolean",(n)=>n.notNull().defaultTo(!1)).execute(),await t.schema.createTable("thread_observations").addColumn("thread_id","text",(n)=>n.notNull().references("threads.id").onDelete("cascade")).addColumn("observer_id","text",(n)=>n.notNull()).addColumn("last_observed_at","text",(n)=>n.notNull()).addPrimaryKeyConstraint("thread_observations_pkey",["thread_id","observer_id"]).execute()}async function Gm(t){await t.schema.dropTable("thread_observations").execute(),await t.schema.alterTable("threads").dropColumn("is_observation").execute(),await t.schema.alterTable("organization_settings").dropColumn("observational_config").execute()}var zu={};i(zu,{up:()=>Im,down:()=>gm});async function Im(t){await t.schema.dropTable("thread_observations").ifExists().execute(),await t.schema.alterTable("threads").dropColumn("is_observation").execute(),await t.schema.alterTable("organization_settings").dropColumn("observational_config").execute()}async function gm(t){await t.schema.alterTable("organization_settings").addColumn("observational_config","text").execute(),await t.schema.alterTable("threads").addColumn("is_observation","boolean",(n)=>n.notNull().defaultTo(!1)).execute(),await t.schema.createTable("thread_observations").addColumn("thread_id","text",(n)=>n.notNull().references("threads.id").onDelete("cascade")).addColumn("observer_id","text",(n)=>n.notNull()).addColumn("last_observed_at","text",(n)=>n.notNull()).addPrimaryKeyConstraint("thread_observations_pkey",["thread_id","observer_id"]).execute()}var ru={};i(ru,{up:()=>Vm,down:()=>vm});import{sql as r}from"kysely";var K="cluster",c="agent-sandbox";function F(t){return t!==null&&typeof t==="object"&&!Array.isArray(t)}function Pu(t,n,u){if(!F(t))return t;if(t.sandboxProviderKind!==n)return t;return{...t,sandboxProviderKind:u}}function at(t){if(!F(t))return!1;if(typeof t.sandboxHandle!=="string")return!1;if(t.previewUrl!==null&&typeof t.previewUrl!=="string")return!1;if(t.sandboxApiUrl!==void 0&&t.sandboxApiUrl!==null&&typeof t.sandboxApiUrl!=="string")return!1;if(t.sandboxProviderKind!==void 0&&t.sandboxProviderKind!==K&&t.sandboxProviderKind!==c&&t.sandboxProviderKind!=="user-desktop")return!1;if(t.createdAt!==void 0&&typeof t.createdAt!=="number")return!1;if(t.startedWith!==void 0){if(!F(t.startedWith))return!1;for(let n of["packageManager","port","path"]){let u=t.startedWith[n];if(u!==void 0&&u!==null&&typeof u!=="string")return!1}}return!0}function sm(t,n,u){if(!F(t))return null;let _=!1,e={};for(let[a,m]of Object.entries(t)){if(!F(m)){e[a]=m;continue}let x={};for(let[o,y]of Object.entries(m)){if(!F(y)){x[o]=y;continue}let T={};for(let[N,C]of Object.entries(y)){if(N===n){if(_=!0,!(u in y))T[u]=Pu(C,n,u);else if(!at(y[u])&&at(C))T[u]=Pu(C,n,u);continue}let p=Pu(C,n,u);if(p!==C)_=!0;if(N===u&&N in T&&at(T[N])&&!at(p))continue;T[N]=p}x[o]=T}e[a]=x}return{sandboxMap:e,changed:_}}async function di(t,n,u){let _=await r`
|
|
837
837
|
SELECT id, metadata FROM connections
|
|
838
838
|
WHERE connection_type = 'VIRTUAL'
|
|
839
839
|
AND metadata IS NOT NULL
|
|
@@ -908,7 +908,7 @@ var ke=Object.defineProperty;var $e=(t)=>t;function Xe(t,n){this[t]=$e.bind(null
|
|
|
908
908
|
CREATE INDEX idx_org_fs_entry_usage
|
|
909
909
|
ON org_fs_entry (organization_id, volume, size)
|
|
910
910
|
WHERE kind = 'file' AND deleted_at IS NULL
|
|
911
|
-
`.execute(t)}async function lm(t){await t.schema.dropTable("org_fs_entry").execute(),await J`DROP SEQUENCE IF EXISTS org_fs_entry_seq`.execute(t)}var
|
|
911
|
+
`.execute(t)}async function lm(t){await t.schema.dropTable("org_fs_entry").execute(),await J`DROP SEQUENCE IF EXISTS org_fs_entry_seq`.execute(t)}var ju={};i(ju,{up:()=>dm,down:()=>bm});async function dm(t){await t.schema.alterTable("automations").addColumn("tools","text").execute()}async function bm(t){await t.schema.alterTable("automations").dropColumn("tools").execute()}var Du={};i(Du,{up:()=>to,down:()=>no});import{sql as bi}from"kysely";async function to(t){await bi`
|
|
912
912
|
INSERT INTO "organization" (id, name, slug, "createdAt")
|
|
913
913
|
SELECT
|
|
914
914
|
'org_orgfs_public_skills',
|
|
@@ -928,7 +928,7 @@ var ke=Object.defineProperty;var $e=(t)=>t;function Xe(t,n){this[t]=$e.bind(null
|
|
|
928
928
|
UPDATE downstream_tokens
|
|
929
929
|
SET "expiresAt" = "createdAt"::timestamptz + INTERVAL '55 minutes'
|
|
930
930
|
WHERE "expiresAt" IS NULL
|
|
931
|
-
`.execute(t)}async function mo(t){}var Wu={};i(Wu,{up:()=>oo,down:()=>yo});async function oo(t){await t.schema.alterTable("org_fs_entry").addColumn("thread_id","text").execute()}async function yo(t){await t.schema.alterTable("org_fs_entry").dropColumn("thread_id").execute()}var ku={};i(ku,{up:()=>To,down:()=>Co});async function To(t){await t.schema.alterTable("org_file_configs").addColumn("credential_type","text",(n)=>n.notNull().defaultTo("static")).addColumn("refresh_url","text").execute()}async function Co(t){await t.schema.alterTable("org_file_configs").dropColumn("credential_type").dropColumn("refresh_url").execute()}var $u={};i($u,{up:()=>No,down:()=>Eo});async function No(t){await t.schema.alterTable("threads").addColumn("failure_reason","text").execute(),await t.schema.alterTable("threads").addColumn("failure_kind","text").execute()}async function Eo(t){await t.schema.alterTable("threads").dropColumn("failure_kind").execute(),await t.schema.alterTable("threads").dropColumn("failure_reason").execute()}var Xu={};i(Xu,{up:()=>fo,down:()=>wo});async function fo(t){await t.schema.alterTable("threads").addColumn("run_acked_seq","integer").execute()}async function wo(t){await t.schema.alterTable("threads").dropColumn("run_acked_seq").execute()}var Qu={};i(Qu,{up:()=>Ko,down:()=>co});async function Ko(t){await t.schema.alterTable("threads").addColumn("projected_seq","integer",(n)=>n.notNull().defaultTo(0)).execute()}async function co(t){await t.schema.alterTable("threads").dropColumn("projected_seq").execute()}var Zu={};i(Zu,{up:()=>po,down:()=>zo});import{sql as ne}from"kysely";async function po(t){await t.schema.createTable("org_sites").addColumn("slug","text",(n)=>n.primaryKey().notNull()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("source","text",(n)=>n.notNull().defaultTo("deco-import")).addColumn("created_by","text",(n)=>n.notNull()).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(ne`now()`)).addColumn("updated_by","text",(n)=>n.notNull()).addColumn("updated_at","timestamptz",(n)=>n.notNull().defaultTo(ne`now()`)).execute(),await t.schema.createIndex("idx_org_sites_org").on("org_sites").column("organization_id").execute()}async function zo(t){await t.schema.dropTable("org_sites").execute()}var Fu={};i(Fu,{up:()=>Po,down:()=>ro});async function Po(t){await t.schema.alterTable("org_file_configs").addColumn("site_slug","text").execute()}async function ro(t){await t.schema.alterTable("org_file_configs").dropColumn("site_slug").execute()}var Hu={};i(Hu,{up:()=>Uo,down:()=>
|
|
931
|
+
`.execute(t)}async function mo(t){}var Wu={};i(Wu,{up:()=>oo,down:()=>yo});async function oo(t){await t.schema.alterTable("org_fs_entry").addColumn("thread_id","text").execute()}async function yo(t){await t.schema.alterTable("org_fs_entry").dropColumn("thread_id").execute()}var ku={};i(ku,{up:()=>To,down:()=>Co});async function To(t){await t.schema.alterTable("org_file_configs").addColumn("credential_type","text",(n)=>n.notNull().defaultTo("static")).addColumn("refresh_url","text").execute()}async function Co(t){await t.schema.alterTable("org_file_configs").dropColumn("credential_type").dropColumn("refresh_url").execute()}var $u={};i($u,{up:()=>No,down:()=>Eo});async function No(t){await t.schema.alterTable("threads").addColumn("failure_reason","text").execute(),await t.schema.alterTable("threads").addColumn("failure_kind","text").execute()}async function Eo(t){await t.schema.alterTable("threads").dropColumn("failure_kind").execute(),await t.schema.alterTable("threads").dropColumn("failure_reason").execute()}var Xu={};i(Xu,{up:()=>fo,down:()=>wo});async function fo(t){await t.schema.alterTable("threads").addColumn("run_acked_seq","integer").execute()}async function wo(t){await t.schema.alterTable("threads").dropColumn("run_acked_seq").execute()}var Qu={};i(Qu,{up:()=>Ko,down:()=>co});async function Ko(t){await t.schema.alterTable("threads").addColumn("projected_seq","integer",(n)=>n.notNull().defaultTo(0)).execute()}async function co(t){await t.schema.alterTable("threads").dropColumn("projected_seq").execute()}var Zu={};i(Zu,{up:()=>po,down:()=>zo});import{sql as ne}from"kysely";async function po(t){await t.schema.createTable("org_sites").addColumn("slug","text",(n)=>n.primaryKey().notNull()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("source","text",(n)=>n.notNull().defaultTo("deco-import")).addColumn("created_by","text",(n)=>n.notNull()).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(ne`now()`)).addColumn("updated_by","text",(n)=>n.notNull()).addColumn("updated_at","timestamptz",(n)=>n.notNull().defaultTo(ne`now()`)).execute(),await t.schema.createIndex("idx_org_sites_org").on("org_sites").column("organization_id").execute()}async function zo(t){await t.schema.dropTable("org_sites").execute()}var Fu={};i(Fu,{up:()=>Po,down:()=>ro});async function Po(t){await t.schema.alterTable("org_file_configs").addColumn("site_slug","text").execute()}async function ro(t){await t.schema.alterTable("org_file_configs").dropColumn("site_slug").execute()}var Hu={};i(Hu,{up:()=>Uo,down:()=>jo});import{sql as f}from"kysely";async function Uo(t){await t.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 f`
|
|
932
932
|
UPDATE organization_domains
|
|
933
933
|
SET
|
|
934
934
|
id = gen_random_uuid()::text,
|
|
@@ -937,10 +937,10 @@ var ke=Object.defineProperty;var $e=(t)=>t;function Xe(t,n){this[t]=$e.bind(null
|
|
|
937
937
|
verification_method = 'email',
|
|
938
938
|
verified_at = created_at
|
|
939
939
|
WHERE id IS NULL
|
|
940
|
-
`.execute(t),await f`ALTER TABLE organization_domains DROP CONSTRAINT organization_domains_pkey`.execute(t),await f`ALTER TABLE organization_domains ALTER COLUMN id SET NOT NULL`.execute(t),await f`ALTER TABLE organization_domains ALTER COLUMN id SET DEFAULT gen_random_uuid()::text`.execute(t),await f`ALTER TABLE organization_domains ADD PRIMARY KEY (id)`.execute(t),await f`ALTER TABLE organization_domains ALTER COLUMN join_mode SET NOT NULL`.execute(t),await f`ALTER TABLE organization_domains ALTER COLUMN join_mode SET DEFAULT 'off'`.execute(t),await f`ALTER TABLE organization_domains ALTER COLUMN verification_status SET NOT NULL`.execute(t),await f`ALTER TABLE organization_domains ALTER COLUMN verification_status SET DEFAULT 'pending'`.execute(t),await t.schema.alterTable("organization_domains").dropColumn("auto_join_enabled").execute(),await t.schema.createIndex("organization_domains_org_domain_idx").unique().ifNotExists().on("organization_domains").columns(["organization_id","domain"]).execute()}async function
|
|
940
|
+
`.execute(t),await f`ALTER TABLE organization_domains DROP CONSTRAINT organization_domains_pkey`.execute(t),await f`ALTER TABLE organization_domains ALTER COLUMN id SET NOT NULL`.execute(t),await f`ALTER TABLE organization_domains ALTER COLUMN id SET DEFAULT gen_random_uuid()::text`.execute(t),await f`ALTER TABLE organization_domains ADD PRIMARY KEY (id)`.execute(t),await f`ALTER TABLE organization_domains ALTER COLUMN join_mode SET NOT NULL`.execute(t),await f`ALTER TABLE organization_domains ALTER COLUMN join_mode SET DEFAULT 'off'`.execute(t),await f`ALTER TABLE organization_domains ALTER COLUMN verification_status SET NOT NULL`.execute(t),await f`ALTER TABLE organization_domains ALTER COLUMN verification_status SET DEFAULT 'pending'`.execute(t),await t.schema.alterTable("organization_domains").dropColumn("auto_join_enabled").execute(),await t.schema.createIndex("organization_domains_org_domain_idx").unique().ifNotExists().on("organization_domains").columns(["organization_id","domain"]).execute()}async function jo(t){await t.schema.dropIndex("organization_domains_org_domain_idx").ifExists().execute(),await t.schema.alterTable("organization_domains").addColumn("auto_join_enabled","boolean",(n)=>n.notNull().defaultTo(!1)).execute(),await f`
|
|
941
941
|
UPDATE organization_domains
|
|
942
942
|
SET auto_join_enabled = (join_mode = 'auto')
|
|
943
|
-
`.execute(t),await f`ALTER TABLE organization_domains DROP CONSTRAINT organization_domains_pkey`.execute(t),await f`ALTER TABLE organization_domains ADD PRIMARY KEY (organization_id)`.execute(t),await t.schema.alterTable("organization_domains").dropColumn("id").dropColumn("join_mode").dropColumn("verification_status").dropColumn("verification_method").dropColumn("verification_token").dropColumn("verified_at").execute()}var Mu={};i(Mu,{up:()=>
|
|
943
|
+
`.execute(t),await f`ALTER TABLE organization_domains DROP CONSTRAINT organization_domains_pkey`.execute(t),await f`ALTER TABLE organization_domains ADD PRIMARY KEY (organization_id)`.execute(t),await t.schema.alterTable("organization_domains").dropColumn("id").dropColumn("join_mode").dropColumn("verification_status").dropColumn("verification_method").dropColumn("verification_token").dropColumn("verified_at").execute()}var Mu={};i(Mu,{up:()=>Do,down:()=>Jo});import{sql as xt}from"kysely";async function Do(t){await t.schema.createTable("organization_join_requests").addColumn("id","text",(n)=>n.primaryKey().defaultTo(xt`gen_random_uuid()::text`)).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("user_id","text",(n)=>n.notNull().references("user.id").onDelete("cascade")).addColumn("status","text",(n)=>n.notNull().defaultTo("pending")).addColumn("decided_by","text",(n)=>n.references("user.id").onDelete("set null")).addColumn("decided_at","timestamptz").addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(xt`now()`)).addColumn("updated_at","timestamptz",(n)=>n.notNull().defaultTo(xt`now()`)).execute(),await xt`
|
|
944
944
|
CREATE UNIQUE INDEX organization_join_requests_pending_unique
|
|
945
945
|
ON organization_join_requests (organization_id, user_id)
|
|
946
946
|
WHERE status = 'pending'
|
|
@@ -1030,7 +1030,7 @@ var ke=Object.defineProperty;var $e=(t)=>t;function Xe(t,n){this[t]=$e.bind(null
|
|
|
1030
1030
|
insert into organization_billing (organization_id, legacy)
|
|
1031
1031
|
select id, true from organization
|
|
1032
1032
|
on conflict (organization_id) do nothing
|
|
1033
|
-
`.execute(t)}async function zy(t){await t.schema.dropTable("organization_paid_seat").execute(),await t.schema.dropTable("organization_billing").execute()}var xi={};i(xi,{up:()=>Py,down:()=>ry});import{sql as ue}from"kysely";async function Py(t){await t.schema.createTable("seat_change_log").addColumn("id","uuid",(n)=>n.primaryKey().defaultTo(ue`gen_random_uuid()`)).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("user_id","text",(n)=>n.notNull()).addColumn("seat","text",(n)=>n.notNull()).addColumn("changed_by","text",(n)=>n.notNull()).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(ue`now()`)).execute(),await t.schema.createIndex("idx_seat_change_log_org_created").on("seat_change_log").columns(["organization_id","created_at"]).execute()}async function ry(t){await t.schema.dropTable("seat_change_log").execute()}var mi={};i(mi,{up:()=>Uy,down:()=>
|
|
1033
|
+
`.execute(t)}async function zy(t){await t.schema.dropTable("organization_paid_seat").execute(),await t.schema.dropTable("organization_billing").execute()}var xi={};i(xi,{up:()=>Py,down:()=>ry});import{sql as ue}from"kysely";async function Py(t){await t.schema.createTable("seat_change_log").addColumn("id","uuid",(n)=>n.primaryKey().defaultTo(ue`gen_random_uuid()`)).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("user_id","text",(n)=>n.notNull()).addColumn("seat","text",(n)=>n.notNull()).addColumn("changed_by","text",(n)=>n.notNull()).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(ue`now()`)).execute(),await t.schema.createIndex("idx_seat_change_log_org_created").on("seat_change_log").columns(["organization_id","created_at"]).execute()}async function ry(t){await t.schema.dropTable("seat_change_log").execute()}var mi={};i(mi,{up:()=>Uy,down:()=>jy});async function Uy(t){await t.schema.alterTable("organization_billing").addColumn("benefits_reference_id","text").execute()}async function jy(t){await t.schema.alterTable("organization_billing").dropColumn("benefits_reference_id").execute()}var oi={};i(oi,{up:()=>Dy,down:()=>Jy});import{sql as ie}from"kysely";async function Dy(t){await t.schema.alterTable("organization_billing").addColumn("last_stripe_event_at","timestamptz").execute(),await ie`
|
|
1034
1034
|
create unique index organization_billing_stripe_subscription_id_uq
|
|
1035
1035
|
on organization_billing (stripe_subscription_id)
|
|
1036
1036
|
where stripe_subscription_id is not null
|
|
@@ -1053,9 +1053,9 @@ var ke=Object.defineProperty;var $e=(t)=>t;function Xe(t,n){this[t]=$e.bind(null
|
|
|
1053
1053
|
SELECT id, app_name, connection_url, title, slug
|
|
1054
1054
|
FROM connections
|
|
1055
1055
|
WHERE connection_type != 'VIRTUAL'
|
|
1056
|
-
`.execute(t),u=0;for(let _ of n.rows){let e=gy(_);if(e===_.slug)continue;await oe`UPDATE connections SET slug = ${e} WHERE id = ${_.id}`.execute(t),u++}if(u>0)console.log(`[152] repaired ${u} drifted connection slug(s)`)}async function Vy(){}var ri={};i(ri,{up:()=>qy,down:()=>ly});import{sql as vy}from"kysely";async function qy(t){await vy`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(t)}async function ly(t){await t.schema.dropIndex("idx_tmp_latest_assistant_text").execute()}var dy={"001-initial-schema":wt,"002-organization-settings":Kt,"003-connection-schema-align":ct,"004-remove-models-binding":pt,"005-connection-configuration":zt,"006-add-views-to-settings":Pt,"007-monitoring-logs":rt,"008-event-bus":Ut,"009-drop-audit-logs":Dt,"010-gateways":jt,"011-gateway-icon":Jt,"012-gateway-tool-selection-mode":Lt,"013-monitoring-user-agent-gateway":Rt,"014-gateway-resources-prompts":Wt,"015-monitoring-properties":kt,"016-downstream-token-client-info":$t,"017-downstream-token-remove-userid":Xt,"018-drop-gateway-tool-selection-strategy":Qt,"019-remove-gateway-is-default":Zt,"020-enabled-plugins":Ft,"021-threads":Ht,"022-rename-gateway-to-virtual-mcp":Mt,"023-optimize-thread-indexes":Yt,"024-consolidate-virtual-mcp":ht,"025-add-monitoring-virtual-mcp-id":At,"026-restrict-child-connection-delete":Bt,"027-update-management-mcp-url":Ot,"028-update-management-mcp-to-self":It,"029-add-updated-by-to-connections":gt,"030-member-tags":st,"031-add-dependency-mode":Vt,"032-projects":vt,"033-thread-status":qt,"034-monitoring-dashboards":lt,"035-project-connections":dt,"036-update-registry-url":bt,"037-ai-provider-keys":tn,"038-oauth-pkce-states":nn,"039-automations":un,"040-replace-next-run-at-with-last-run-at":en,"041-ai-provider-keys-unique-constraint":_n,"042-rename-mesh-mcp-to-cms-mcp":an,"043-rename-cms-mcp-to-deco-cms":xn,"044-drop-connections-tools-column":mn,"045-thread-context-start-message":on,"046-remove-object-storage-plugin":Tn,"047-add-next-run-at":Cn,"048-merge-projects-agents":En,"049-remove-org-admin-projects":fn,"050-durable-agent-runs":wn,"051-org-sso":cn,"052-thread-agent-ids":pn,"053-registry-config":zn,"054-connection-slug":rn,"055-spaces":Un,"056-automation-project-scope":Dn,"057-thread-virtual-mcp-id":jn,"058-trigger-callback-tokens":Jn,"059-kv":Ln,"060-member-index":Rn,"061-downstream-token-connection-index":Wn,"062-private-registry":kn,"063-event-subscriptions-enabled-boolean":$n,"064-brand-context":Xn,"065-organization-domains":Qn,"066-brand-context-structured":Zn,"067-threads-metadata":Fn,"068-threads-branch":Hn,"069-sandbox-runner-state":Mn,"070-model-categories":Yn,"071-default-home-agents":hn,"072-ai-provider-key-preset-id":An,"073-backfill-basic-usage-roles":Bn,"074-sandbox-runner-state-handle-nonunique":Sn,"075-thread-inflight-async-jobs":On,"076-automations-drop-agent-json":Gn,"077-tier-only-model-selection":gn,"078-automation-tool-call-kind":sn,"079-strip-legacy-freestyle-vm-map-entries":Vn,"080-async-research-jobs":vn,"081-async-research-jobs-result-content":qn,"082-secrets":ln,"083-thread-run-locally":dn,"084-drop-host-sandbox-rows":bn,"085-rename-runner-kind":tu,"086-thread-pins-and-vm-map-rekey":nu,"087-fix-vm-map-rekey":uu,"088-purge-cli-activate-keys":iu,"089-rename-remote-user-to-desktop":eu,"090-automation-webhook-triggers":_u,"091-organization-domains-allow-multi":au,"092-sandbox-naming-uniformization":xu,"093-backfill-global-search-basic-usage":mu,"094-org-file-configs":yu,"095-remove-automation-tool-call-kind":Tu,"096-org-file-configs-public-url-base":Cu,"097-drop-local-docker-sandbox-state":Eu,"098-thread-message-parts":fu,"099-run-fence":wu,"100-link-transport":Ku,"101-cancel-requested-at":cu,"102-observational-agent":pu,"103-revert-observational-agent":zu,"104-agent-sandbox-provider-kind":ru,"105-org-fs":Uu,"106-automation-tools":Du,"107-org-fs-public-org":ju,"108-automation-max-agent-steps":Ju,"109-thread-message-parts-per-message-seq":Lu,"110-backfill-ghs-token-expiry":Ru,"111-org-fs-thread-id":Wu,"112-org-file-configs-credential-type":ku,"113-thread-failure-reason":$u,"114-run-acked-seq":Xu,"115-thread-projected-seq":Qu,"116-org-sites":Zu,"117-org-file-configs-site-slug":Fu,"118-organization-domains-multi-verify":Hu,"119-organization-join-requests":Mu,"120-org-fs-read-public":Yu,"121-org-fs-share-password":hu,"122-split-web-research-tier":Su,"123-connection-credential-vault":Ou,"124-drop-thread-projected-seq":Gu,"125-github-child-single-parent":Iu,"126-task-board":su,"127-task-board-due-date":Vu,"128-reports-only":vu,"129-task-board-assigned-by":qu,"130-task-board-thread-id":lu,"131-task-board-thread-link-cascade":du,"132-task-board-item-prs":bu,"133-dedupe-duplicate-members":ti,"134-drop-task-board-enabled":ni,"135-task-board-item-fk-cascade":ui,"136-task-board-import-idempotency":ii,"137-agent-sandbox-runner-state":ei,"138-agent-sandbox-sessions":_i,"139-organization-billing":ai,"140-seat-change-log":xi,"141-benefits-sync-pending":mi,"142-stripe-event-watermark":oi,"143-armed-report-url":yi,"144-benefits-pending-index":Ti,"145-user-model-preferences":Ci,"146-organization-main-agent":Ni,"147-drop-agent-sandbox-tables":Ei,"148-org-flags":fi,"149-task-board-item-sort-order":wi,"150-task-board-activity":Ki,"151-task-board-tags":pi,"152-repair-connection-slug":Pi,"153-task-board-latest-assistant-part-index":ri},Ui=dy;import{getMigrations as XT}from"better-auth/db";import{sso as QT}from"@better-auth/sso";import{organization as ZT}from"@decocms/better-auth/plugins";import{admin as FT,apiKey as HT,jwt as MT,magicLink as YT,mcp as hT,openAPI as AT}from"better-auth/plugins";import{emailOTP as BT}from"better-auth/plugins/email-otp";import{Kysely as jT,PostgresDialect as Pe}from"kysely";import{Pool as re}from"pg";import{homedir as by}from"os";var tT=new Set(["all","worker","api"]);function nT(t){let n=(t??"").trim();return tT.has(n)?n:"all"}var uT=new Set(["production","development","test"]);function iT(t){let n=(t??"").trim();return uT.has(n)?n:"development"}function W(t){return t==="true"||t==="1"}function eT(t){if(t===void 0||t==="")return;return W(t)}function Te(t,n){if(n===void 0||n==="")return;let u=Number(n);if(!Number.isSafeInteger(u)||u<=0)throw Error(`${t} must be a positive integer`);return u}function F(t,n,u){return Te(t,n)??u}function _T(t,n){if(t===void 0||t==="")return n;return t==="true"||t==="1"}function ye(t){if(!t)return null;try{let u=new URL(t).hostname.replace(/^\[|\]$/g,"");if(u==="localhost"||u==="127.0.0.1"||u==="::1")return null;return t}catch{return null}}function aT(t){return t===void 0||t===""||t==="true"||t==="1"}var xT=new Set(["agent-sandbox","user-desktop"]);function mT(t){let n=(t??"").trim(),u=n.length>0?n:"user-desktop";if(u==="cluster")return"agent-sandbox";if(!xT.has(u))throw Error(`Unknown STUDIO_SANDBOX_PROVIDER="${t}" \u2014 expected "agent-sandbox", legacy "cluster", or "user-desktop".`);return u}function Ce(t,n){let u=t.home||n.DATA_DIR||n.DECOCMS_HOME||`${by()}/deco`,_=t.localMode,e=t.nodeEnv||iT(n.NODE_ENV),a=n.NATS_URL||"nats://localhost:4222",m=eT(n.NATS_TUNNEL_PUBLIC_ENABLED)??!!n.NATS_PUBLIC_URL;return{settings:{nodeEnv:e,port:F("PORT",t.port||n.PORT,3000),baseUrl:t.baseUrl||n.BASE_URL,publicUrl:n.STUDIO_PUBLIC_URL??n.MESH_PUBLIC_URL,dataDir:u,databasePgSsl:W(n.DATABASE_PG_SSL),databasePoolMax:F("DATABASE_POOL_MAX",n.DATABASE_POOL_MAX,5),betterAuthSecret:n.BETTER_AUTH_SECRET||"",encryptionKey:n.ENCRYPTION_KEY||"",studioJwtSecret:n.STUDIO_JWT_SECRET??n.MESH_JWT_SECRET,localMode:_,disableRateLimit:W(n.DISABLE_RATE_LIMIT),studioProvisionSecretKey:n.STUDIO_PROVISION_SECRET_KEY,deploymentAdminEmails:(n.DEPLOYMENT_ADMIN_EMAILS??"").split(",").map((o)=>o.trim().toLowerCase()).filter(Boolean),clickhouseUrl:n.CLICKHOUSE_URL,clickhouseMaxMemoryUsage:Te("CLICKHOUSE_MAX_MEMORY_USAGE",n.CLICKHOUSE_MAX_MEMORY_USAGE),monitoringOtlpEndpoint:n.MONITORING_OTLP_ENDPOINT,otelServiceName:n.OTEL_SERVICE_NAME||"studio",natsPublicUrl:n.NATS_PUBLIC_URL,natsTunnelPublicEnabled:m,natsTunnelSessionTtlSeconds:F("NATS_TUNNEL_SESSION_TTL_SECONDS",n.NATS_TUNNEL_SESSION_TTL_SECONDS,900),natsOperatorJwt:n.NATS_OPERATOR_JWT,natsAccountJwt:n.NATS_ACCOUNT_JWT,natsAccountSigningKey:n.NATS_ACCOUNT_SIGNING_KEY,natsCredsPath:n.NATS_CREDS,configPath:n.CONFIG_PATH||"./config.json",aiGatewayEnabled:W(n.DECO_AI_GATEWAY_ENABLED),aiGatewayUrl:n.DECO_AI_GATEWAY_URL||"https://ai-site.deco.site",aiGatewayAdminToken:n.DECO_AI_GATEWAY_ADMIN_TOKEN,seatAllowanceCents:F("STUDIO_SEAT_ALLOWANCE_CENTS",n.STUDIO_SEAT_ALLOWANCE_CENTS,500),stripeWebhookSecret:n.STRIPE_WEBHOOK_SECRET,stripeSecretKey:n.STRIPE_SECRET_KEY,stripeSeatPriceId:n.STRIPE_SEAT_PRICE_ID,topupFeePercent:F("STUDIO_TOPUP_FEE_PERCENT",n.STUDIO_TOPUP_FEE_PERCENT,15),enableDecoImport:W(n.ENABLE_DECO_IMPORT),billingEnforced:W(n.STUDIO_BILLING_ENFORCED),mcpCacheEnabled:_T(n.MCP_CACHE_ENABLED,e!=="development"),orgFsPublicSetsJson:n.ORGFS_PUBLIC_SETS,orgFsMountsDisabled:W(n.DISABLE_ORGFS_MOUNTS),decopilotMaxConcurrentSubagents:F("DECOPILOT_MAX_CONCURRENT_SUBAGENTS",n.DECOPILOT_MAX_CONCURRENT_SUBAGENTS,4),s3Endpoint:n.S3_ENDPOINT,s3Bucket:n.S3_BUCKET,s3Region:n.S3_REGION||"auto",s3AccessKeyId:n.S3_ACCESS_KEY_ID,s3SecretAccessKey:n.S3_SECRET_ACCESS_KEY,s3ForcePathStyle:aT(n.S3_FORCE_PATH_STYLE),monitoringS3Bucket:n.MONITORING_S3_BUCKET,monitoringS3Endpoint:n.MONITORING_S3_ENDPOINT,monitoringS3Region:n.MONITORING_S3_REGION,monitoringS3AccessKeyId:n.MONITORING_S3_ACCESS_KEY_ID,monitoringS3SecretAccessKey:n.MONITORING_S3_SECRET_ACCESS_KEY,monitoringS3Prefix:n.MONITORING_S3_PREFIX,duckdbExtensionDirectory:n.DUCKDB_EXTENSION_DIRECTORY||"/opt/duckdb/extensions",duckdbMemoryLimit:n.DUCKDB_MEMORY_LIMIT||void 0,duckdbThreads:n.DUCKDB_THREADS?Number(n.DUCKDB_THREADS):void 0,isCli:!0,noTui:t.noTui===!0,podName:n.POD_NAME??crypto.randomUUID(),dispatchRole:nT(n.STUDIO_DISPATCH_ROLE??n.MESH_DISPATCH_ROLE),sandboxProviderKind:mT(n.STUDIO_SANDBOX_PROVIDER),decoSupabaseUrl:n.DECO_SUPABASE_URL,decoSupabaseServiceKey:n.DECO_SUPABASE_SERVICE_KEY,firecrawlApiKey:n.FIRECRAWL_API_KEY,reportsInternalApiUrl:n.REPORTS_INTERNAL_API_URL??n.COMMERCE_DISCOVERY_INTERNAL_API_URL,reportsInternalApiKey:n.REPORTS_INTERNAL_API_KEY??n.COMMERCE_DISCOVERY_INTERNAL_API_KEY,s3TenantBucket:n.S3_TENANT_BUCKET||"new-deco-sites-assets",s3TenantRegion:n.S3_TENANT_REGION||"us-west-2",s3TenantEndpoint:n.S3_TENANT_ENDPOINT,s3TenantPublicUrlBase:n.S3_TENANT_PUBLIC_URL_BASE||"https://decoims.com",awsS3TenantRoleArn:n.AWS_S3_TENANT_ROLE_ARN,awsS3TenantProvisionerAccessKeyId:n.AWS_S3_TENANT_PROVISIONER_ACCESS_KEY_ID,awsS3TenantProvisionerSecretAccessKey:n.AWS_S3_TENANT_PROVISIONER_SECRET_ACCESS_KEY},externalDatabaseUrl:ye(n.DATABASE_URL),externalNatsUrl:ye(a),skipMigrations:t.skipMigrations}}var Tt=null;function H(){if(!Tt)oT();return Tt}function oT(){if(Tt)return;let t={...process.env},n=Ce({port:t.PORT||"3000",home:t.DATA_DIR||t.DECOCMS_HOME||"",localMode:t.DECOCMS_LOCAL_MODE==="true",skipMigrations:!0,noTui:t.DECO_NO_TUI==="true",vitePort:t.VITE_PORT,baseUrl:t.BASE_URL},t);Tt=Object.freeze({...n.settings,databaseUrl:t.DATABASE_URL||"postgresql://postgres:postgres@localhost:5432/postgres",natsUrls:(t.NATS_URL||"nats://localhost:4222").split(",").map((u)=>u.trim()).filter(Boolean)})}import{createContextKey as fT,metrics as wT,propagation as ef,ROOT_CONTEXT as _f,SpanStatusCode as af,trace as KT}from"@opentelemetry/api";import{logs as cT,SeverityNumber as Di}from"@opentelemetry/api-logs";import{OTLPLogExporter as of}from"@opentelemetry/exporter-logs-otlp-proto";import{PrometheusExporter as pT}from"@opentelemetry/exporter-prometheus";import{OTLPTraceExporter as Cf}from"@opentelemetry/exporter-trace-otlp-proto";import{RuntimeNodeInstrumentation as Ef}from"@opentelemetry/instrumentation-runtime-node";import{context as lN,propagation as dN,SpanKind as bN,SpanStatusCode as tE}from"@opentelemetry/api";var uE=globalThis.fetch;import{ExportResultCode as EE}from"@opentelemetry/core";import{ExportResultCode as Ct}from"@opentelemetry/core";import{mkdir as yT,rename as TT,writeFile as CT}from"fs/promises";import{join as Nt}from"path";class Et{bufferItems=[];bufferBytes=0;flushTimer=null;flushQueue=Promise.resolve();basePath;flushThreshold;maxBufferBytes;isShutdown=!1;knownDirs=new Set;partitionKey;constructor(t){this.basePath=t.basePath,this.flushThreshold=t.flushThreshold??1000,this.maxBufferBytes=t.maxBufferBytes??10485760,this.partitionKey=t.partitionKey;let n=t.flushIntervalMs??60000;if(n>0&&n<3600000){if(this.flushTimer=setInterval(()=>{this.flush().catch((u)=>{console.error("[NDJSONExporter] Timer flush failed:",u)})},n),this.flushTimer&&typeof this.flushTimer==="object"&&"unref"in this.flushTimer)this.flushTimer.unref()}}exportRows(t){if(this.isShutdown)return Promise.resolve({code:Ct.FAILED});for(let n of t){let u=JSON.stringify(n),_=this.partitionKey?this.partitionKey(n):"";this.bufferItems.push({partition:_,json:u}),this.bufferBytes+=Buffer.byteLength(u,"utf8")+1}if(this.bufferItems.length>=this.flushThreshold||this.bufferBytes>=this.maxBufferBytes)return this.flush().then(()=>({code:Ct.SUCCESS})).catch((n)=>{return console.error("[NDJSONExporter] Flush failed:",n),{code:Ct.FAILED}});return Promise.resolve({code:Ct.SUCCESS})}async shutdown(){if(this.isShutdown=!0,this.flushTimer)clearInterval(this.flushTimer),this.flushTimer=null;try{await this.flushQueue}catch{}if(this.bufferItems.length>0)await this.flush()}async forceFlush(){try{await this.flushQueue}catch{}if(this.bufferItems.length>0)await this.flush()}flush(){let n=this.flushQueue.catch(()=>{}).then(()=>this.doFlush());return this.flushQueue=n,n}async doFlush(){if(this.bufferItems.length===0)return;let t=this.bufferItems;this.bufferItems=[],this.bufferBytes=0;let n=new Map;for(let e of t){let a=n.get(e.partition);if(!a)a=[],n.set(e.partition,a);a.push(e.json)}let u=await Promise.allSettled(Array.from(n.entries()).map(([e,a])=>this.writeNDJSON(a,e).then(()=>e))),_=u.find((e)=>e.status==="rejected");if(_){let e=new Set;for(let m of u)if(m.status==="fulfilled")e.add(m.value);let a=t.filter((m)=>!e.has(m.partition));this.bufferItems=a.concat(this.bufferItems),this.bufferBytes=0;for(let m of this.bufferItems)this.bufferBytes+=Buffer.byteLength(m.json,"utf8")+1;throw _.reason}}async writeNDJSON(t,n){let u=new Date,_=[String(u.getUTCFullYear()),String(u.getUTCMonth()+1).padStart(2,"0"),String(u.getUTCDate()).padStart(2,"0"),String(u.getUTCHours()).padStart(2,"0")],e=n?Nt(this.basePath,n,..._):Nt(this.basePath,..._);if(!this.knownDirs.has(e))await yT(e,{recursive:!0,mode:448}),this.knownDirs.add(e);let a=`${crypto.randomUUID()}.ndjson`,m=Nt(e,`.${a}.tmp`),x=Nt(e,a),o=t.join(`
|
|
1056
|
+
`.execute(t),u=0;for(let _ of n.rows){let e=gy(_);if(e===_.slug)continue;await oe`UPDATE connections SET slug = ${e} WHERE id = ${_.id}`.execute(t),u++}if(u>0)console.log(`[152] repaired ${u} drifted connection slug(s)`)}async function Vy(){}var ri={};i(ri,{up:()=>qy,down:()=>ly});import{sql as vy}from"kysely";async function qy(t){await vy`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(t)}async function ly(t){await t.schema.dropIndex("idx_tmp_latest_assistant_text").execute()}var dy={"001-initial-schema":wt,"002-organization-settings":Kt,"003-connection-schema-align":ct,"004-remove-models-binding":pt,"005-connection-configuration":zt,"006-add-views-to-settings":Pt,"007-monitoring-logs":rt,"008-event-bus":Ut,"009-drop-audit-logs":jt,"010-gateways":Dt,"011-gateway-icon":Jt,"012-gateway-tool-selection-mode":Lt,"013-monitoring-user-agent-gateway":Rt,"014-gateway-resources-prompts":Wt,"015-monitoring-properties":kt,"016-downstream-token-client-info":$t,"017-downstream-token-remove-userid":Xt,"018-drop-gateway-tool-selection-strategy":Qt,"019-remove-gateway-is-default":Zt,"020-enabled-plugins":Ft,"021-threads":Ht,"022-rename-gateway-to-virtual-mcp":Mt,"023-optimize-thread-indexes":Yt,"024-consolidate-virtual-mcp":ht,"025-add-monitoring-virtual-mcp-id":At,"026-restrict-child-connection-delete":Bt,"027-update-management-mcp-url":Ot,"028-update-management-mcp-to-self":It,"029-add-updated-by-to-connections":gt,"030-member-tags":st,"031-add-dependency-mode":Vt,"032-projects":vt,"033-thread-status":qt,"034-monitoring-dashboards":lt,"035-project-connections":dt,"036-update-registry-url":bt,"037-ai-provider-keys":tn,"038-oauth-pkce-states":nn,"039-automations":un,"040-replace-next-run-at-with-last-run-at":en,"041-ai-provider-keys-unique-constraint":_n,"042-rename-mesh-mcp-to-cms-mcp":an,"043-rename-cms-mcp-to-deco-cms":xn,"044-drop-connections-tools-column":mn,"045-thread-context-start-message":on,"046-remove-object-storage-plugin":Tn,"047-add-next-run-at":Cn,"048-merge-projects-agents":En,"049-remove-org-admin-projects":fn,"050-durable-agent-runs":wn,"051-org-sso":cn,"052-thread-agent-ids":pn,"053-registry-config":zn,"054-connection-slug":rn,"055-spaces":Un,"056-automation-project-scope":jn,"057-thread-virtual-mcp-id":Dn,"058-trigger-callback-tokens":Jn,"059-kv":Ln,"060-member-index":Rn,"061-downstream-token-connection-index":Wn,"062-private-registry":kn,"063-event-subscriptions-enabled-boolean":$n,"064-brand-context":Xn,"065-organization-domains":Qn,"066-brand-context-structured":Zn,"067-threads-metadata":Fn,"068-threads-branch":Hn,"069-sandbox-runner-state":Mn,"070-model-categories":Yn,"071-default-home-agents":hn,"072-ai-provider-key-preset-id":An,"073-backfill-basic-usage-roles":Bn,"074-sandbox-runner-state-handle-nonunique":Sn,"075-thread-inflight-async-jobs":On,"076-automations-drop-agent-json":Gn,"077-tier-only-model-selection":gn,"078-automation-tool-call-kind":sn,"079-strip-legacy-freestyle-vm-map-entries":Vn,"080-async-research-jobs":vn,"081-async-research-jobs-result-content":qn,"082-secrets":ln,"083-thread-run-locally":dn,"084-drop-host-sandbox-rows":bn,"085-rename-runner-kind":tu,"086-thread-pins-and-vm-map-rekey":nu,"087-fix-vm-map-rekey":uu,"088-purge-cli-activate-keys":iu,"089-rename-remote-user-to-desktop":eu,"090-automation-webhook-triggers":_u,"091-organization-domains-allow-multi":au,"092-sandbox-naming-uniformization":xu,"093-backfill-global-search-basic-usage":mu,"094-org-file-configs":yu,"095-remove-automation-tool-call-kind":Tu,"096-org-file-configs-public-url-base":Cu,"097-drop-local-docker-sandbox-state":Eu,"098-thread-message-parts":fu,"099-run-fence":wu,"100-link-transport":Ku,"101-cancel-requested-at":cu,"102-observational-agent":pu,"103-revert-observational-agent":zu,"104-agent-sandbox-provider-kind":ru,"105-org-fs":Uu,"106-automation-tools":ju,"107-org-fs-public-org":Du,"108-automation-max-agent-steps":Ju,"109-thread-message-parts-per-message-seq":Lu,"110-backfill-ghs-token-expiry":Ru,"111-org-fs-thread-id":Wu,"112-org-file-configs-credential-type":ku,"113-thread-failure-reason":$u,"114-run-acked-seq":Xu,"115-thread-projected-seq":Qu,"116-org-sites":Zu,"117-org-file-configs-site-slug":Fu,"118-organization-domains-multi-verify":Hu,"119-organization-join-requests":Mu,"120-org-fs-read-public":Yu,"121-org-fs-share-password":hu,"122-split-web-research-tier":Su,"123-connection-credential-vault":Ou,"124-drop-thread-projected-seq":Gu,"125-github-child-single-parent":Iu,"126-task-board":su,"127-task-board-due-date":Vu,"128-reports-only":vu,"129-task-board-assigned-by":qu,"130-task-board-thread-id":lu,"131-task-board-thread-link-cascade":du,"132-task-board-item-prs":bu,"133-dedupe-duplicate-members":ti,"134-drop-task-board-enabled":ni,"135-task-board-item-fk-cascade":ui,"136-task-board-import-idempotency":ii,"137-agent-sandbox-runner-state":ei,"138-agent-sandbox-sessions":_i,"139-organization-billing":ai,"140-seat-change-log":xi,"141-benefits-sync-pending":mi,"142-stripe-event-watermark":oi,"143-armed-report-url":yi,"144-benefits-pending-index":Ti,"145-user-model-preferences":Ci,"146-organization-main-agent":Ni,"147-drop-agent-sandbox-tables":Ei,"148-org-flags":fi,"149-task-board-item-sort-order":wi,"150-task-board-activity":Ki,"151-task-board-tags":pi,"152-repair-connection-slug":Pi,"153-task-board-latest-assistant-part-index":ri},Ui=dy;import{getMigrations as XT}from"better-auth/db";import{sso as QT}from"@better-auth/sso";import{organization as ZT}from"@decocms/better-auth/plugins";import{admin as FT,apiKey as HT,jwt as MT,magicLink as YT,mcp as hT,openAPI as AT}from"better-auth/plugins";import{emailOTP as BT}from"better-auth/plugins/email-otp";import{Kysely as DT,PostgresDialect as Pe}from"kysely";import{Pool as re}from"pg";import{homedir as by}from"os";var tT=new Set(["all","worker","api"]);function nT(t){let n=(t??"").trim();return tT.has(n)?n:"all"}var uT=new Set(["production","development","test"]);function iT(t){let n=(t??"").trim();return uT.has(n)?n:"development"}function k(t){return t==="true"||t==="1"}function eT(t){if(t===void 0||t==="")return;return k(t)}function Te(t,n){if(n===void 0||n==="")return;let u=Number(n);if(!Number.isSafeInteger(u)||u<=0)throw Error(`${t} must be a positive integer`);return u}function W(t,n,u){return Te(t,n)??u}function _T(t,n){if(t===void 0||t==="")return n;return t==="true"||t==="1"}function ye(t){if(!t)return null;try{let u=new URL(t).hostname.replace(/^\[|\]$/g,"");if(u==="localhost"||u==="127.0.0.1"||u==="::1")return null;return t}catch{return null}}function aT(t){return t===void 0||t===""||t==="true"||t==="1"}var xT=new Set(["agent-sandbox","user-desktop"]);function mT(t){let n=(t??"").trim(),u=n.length>0?n:"user-desktop";if(u==="cluster")return"agent-sandbox";if(!xT.has(u))throw Error(`Unknown STUDIO_SANDBOX_PROVIDER="${t}" \u2014 expected "agent-sandbox", legacy "cluster", or "user-desktop".`);return u}function Ce(t,n){let u=t.home||n.DATA_DIR||n.DECOCMS_HOME||`${by()}/deco`,_=t.localMode,e=t.nodeEnv||iT(n.NODE_ENV),a=n.NATS_URL||"nats://localhost:4222",m=eT(n.NATS_TUNNEL_PUBLIC_ENABLED)??!!n.NATS_PUBLIC_URL;return{settings:{nodeEnv:e,port:W("PORT",t.port||n.PORT,3000),baseUrl:t.baseUrl||n.BASE_URL,publicUrl:n.STUDIO_PUBLIC_URL??n.MESH_PUBLIC_URL,dataDir:u,databasePgSsl:k(n.DATABASE_PG_SSL),databasePoolMax:W("DATABASE_POOL_MAX",n.DATABASE_POOL_MAX,5),betterAuthSecret:n.BETTER_AUTH_SECRET||"",encryptionKey:n.ENCRYPTION_KEY||"",studioJwtSecret:n.STUDIO_JWT_SECRET??n.MESH_JWT_SECRET,localMode:_,disableRateLimit:k(n.DISABLE_RATE_LIMIT),studioProvisionSecretKey:n.STUDIO_PROVISION_SECRET_KEY,deploymentAdminEmails:(n.DEPLOYMENT_ADMIN_EMAILS??"").split(",").map((o)=>o.trim().toLowerCase()).filter(Boolean),clickhouseUrl:n.CLICKHOUSE_URL,clickhouseMaxMemoryUsage:Te("CLICKHOUSE_MAX_MEMORY_USAGE",n.CLICKHOUSE_MAX_MEMORY_USAGE),monitoringOtlpEndpoint:n.MONITORING_OTLP_ENDPOINT,otelServiceName:n.OTEL_SERVICE_NAME||"studio",natsPublicUrl:n.NATS_PUBLIC_URL,natsTunnelPublicEnabled:m,natsTunnelSessionTtlSeconds:W("NATS_TUNNEL_SESSION_TTL_SECONDS",n.NATS_TUNNEL_SESSION_TTL_SECONDS,900),natsOperatorJwt:n.NATS_OPERATOR_JWT,natsAccountJwt:n.NATS_ACCOUNT_JWT,natsAccountSigningKey:n.NATS_ACCOUNT_SIGNING_KEY,natsCredsPath:n.NATS_CREDS,configPath:n.CONFIG_PATH||"./config.json",aiGatewayEnabled:k(n.DECO_AI_GATEWAY_ENABLED),aiGatewayUrl:n.DECO_AI_GATEWAY_URL||"https://ai-site.deco.site",aiGatewayAdminToken:n.DECO_AI_GATEWAY_ADMIN_TOKEN,seatAllowanceCents:W("STUDIO_SEAT_ALLOWANCE_CENTS",n.STUDIO_SEAT_ALLOWANCE_CENTS,500),stripeWebhookSecret:n.STRIPE_WEBHOOK_SECRET,stripeSecretKey:n.STRIPE_SECRET_KEY,stripeSeatPriceId:n.STRIPE_SEAT_PRICE_ID,topupFeePercent:W("STUDIO_TOPUP_FEE_PERCENT",n.STUDIO_TOPUP_FEE_PERCENT,15),enableDecoImport:k(n.ENABLE_DECO_IMPORT),billingEnforced:k(n.STUDIO_BILLING_ENFORCED),mcpCacheEnabled:_T(n.MCP_CACHE_ENABLED,e!=="development"),orgFsPublicSetsJson:n.ORGFS_PUBLIC_SETS,orgFsMountsDisabled:k(n.DISABLE_ORGFS_MOUNTS),decopilotMaxConcurrentSubagents:W("DECOPILOT_MAX_CONCURRENT_SUBAGENTS",n.DECOPILOT_MAX_CONCURRENT_SUBAGENTS,4),decopilotMaxConcurrentHostedRuns:W("DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS",n.DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS,3),s3Endpoint:n.S3_ENDPOINT,s3Bucket:n.S3_BUCKET,s3Region:n.S3_REGION||"auto",s3AccessKeyId:n.S3_ACCESS_KEY_ID,s3SecretAccessKey:n.S3_SECRET_ACCESS_KEY,s3ForcePathStyle:aT(n.S3_FORCE_PATH_STYLE),monitoringS3Bucket:n.MONITORING_S3_BUCKET,monitoringS3Endpoint:n.MONITORING_S3_ENDPOINT,monitoringS3Region:n.MONITORING_S3_REGION,monitoringS3AccessKeyId:n.MONITORING_S3_ACCESS_KEY_ID,monitoringS3SecretAccessKey:n.MONITORING_S3_SECRET_ACCESS_KEY,monitoringS3Prefix:n.MONITORING_S3_PREFIX,duckdbExtensionDirectory:n.DUCKDB_EXTENSION_DIRECTORY||"/opt/duckdb/extensions",duckdbMemoryLimit:n.DUCKDB_MEMORY_LIMIT||void 0,duckdbThreads:n.DUCKDB_THREADS?Number(n.DUCKDB_THREADS):void 0,isCli:!0,noTui:t.noTui===!0,podName:n.POD_NAME??crypto.randomUUID(),dispatchRole:nT(n.STUDIO_DISPATCH_ROLE??n.MESH_DISPATCH_ROLE),sandboxProviderKind:mT(n.STUDIO_SANDBOX_PROVIDER),decoSupabaseUrl:n.DECO_SUPABASE_URL,decoSupabaseServiceKey:n.DECO_SUPABASE_SERVICE_KEY,firecrawlApiKey:n.FIRECRAWL_API_KEY,reportsInternalApiUrl:n.REPORTS_INTERNAL_API_URL??n.COMMERCE_DISCOVERY_INTERNAL_API_URL,reportsInternalApiKey:n.REPORTS_INTERNAL_API_KEY??n.COMMERCE_DISCOVERY_INTERNAL_API_KEY,s3TenantBucket:n.S3_TENANT_BUCKET||"new-deco-sites-assets",s3TenantRegion:n.S3_TENANT_REGION||"us-west-2",s3TenantEndpoint:n.S3_TENANT_ENDPOINT,s3TenantPublicUrlBase:n.S3_TENANT_PUBLIC_URL_BASE||"https://decoims.com",awsS3TenantRoleArn:n.AWS_S3_TENANT_ROLE_ARN,awsS3TenantProvisionerAccessKeyId:n.AWS_S3_TENANT_PROVISIONER_ACCESS_KEY_ID,awsS3TenantProvisionerSecretAccessKey:n.AWS_S3_TENANT_PROVISIONER_SECRET_ACCESS_KEY},externalDatabaseUrl:ye(n.DATABASE_URL),externalNatsUrl:ye(a),skipMigrations:t.skipMigrations}}var Tt=null;function H(){if(!Tt)oT();return Tt}function oT(){if(Tt)return;let t={...process.env},n=Ce({port:t.PORT||"3000",home:t.DATA_DIR||t.DECOCMS_HOME||"",localMode:t.DECOCMS_LOCAL_MODE==="true",skipMigrations:!0,noTui:t.DECO_NO_TUI==="true",vitePort:t.VITE_PORT,baseUrl:t.BASE_URL},t);Tt=Object.freeze({...n.settings,databaseUrl:t.DATABASE_URL||"postgresql://postgres:postgres@localhost:5432/postgres",natsUrls:(t.NATS_URL||"nats://localhost:4222").split(",").map((u)=>u.trim()).filter(Boolean)})}import{createContextKey as fT,metrics as wT,propagation as ef,ROOT_CONTEXT as _f,SpanStatusCode as af,trace as KT}from"@opentelemetry/api";import{logs as cT,SeverityNumber as ji}from"@opentelemetry/api-logs";import{OTLPLogExporter as of}from"@opentelemetry/exporter-logs-otlp-proto";import{PrometheusExporter as pT}from"@opentelemetry/exporter-prometheus";import{OTLPTraceExporter as Cf}from"@opentelemetry/exporter-trace-otlp-proto";import{RuntimeNodeInstrumentation as Ef}from"@opentelemetry/instrumentation-runtime-node";import{context as lN,propagation as dN,SpanKind as bN,SpanStatusCode as tE}from"@opentelemetry/api";var uE=globalThis.fetch;import{ExportResultCode as EE}from"@opentelemetry/core";import{ExportResultCode as Ct}from"@opentelemetry/core";import{mkdir as yT,rename as TT,writeFile as CT}from"fs/promises";import{join as Nt}from"path";class Et{bufferItems=[];bufferBytes=0;flushTimer=null;flushQueue=Promise.resolve();basePath;flushThreshold;maxBufferBytes;isShutdown=!1;knownDirs=new Set;partitionKey;constructor(t){this.basePath=t.basePath,this.flushThreshold=t.flushThreshold??1000,this.maxBufferBytes=t.maxBufferBytes??10485760,this.partitionKey=t.partitionKey;let n=t.flushIntervalMs??60000;if(n>0&&n<3600000){if(this.flushTimer=setInterval(()=>{this.flush().catch((u)=>{console.error("[NDJSONExporter] Timer flush failed:",u)})},n),this.flushTimer&&typeof this.flushTimer==="object"&&"unref"in this.flushTimer)this.flushTimer.unref()}}exportRows(t){if(this.isShutdown)return Promise.resolve({code:Ct.FAILED});for(let n of t){let u=JSON.stringify(n),_=this.partitionKey?this.partitionKey(n):"";this.bufferItems.push({partition:_,json:u}),this.bufferBytes+=Buffer.byteLength(u,"utf8")+1}if(this.bufferItems.length>=this.flushThreshold||this.bufferBytes>=this.maxBufferBytes)return this.flush().then(()=>({code:Ct.SUCCESS})).catch((n)=>{return console.error("[NDJSONExporter] Flush failed:",n),{code:Ct.FAILED}});return Promise.resolve({code:Ct.SUCCESS})}async shutdown(){if(this.isShutdown=!0,this.flushTimer)clearInterval(this.flushTimer),this.flushTimer=null;try{await this.flushQueue}catch{}if(this.bufferItems.length>0)await this.flush()}async forceFlush(){try{await this.flushQueue}catch{}if(this.bufferItems.length>0)await this.flush()}flush(){let n=this.flushQueue.catch(()=>{}).then(()=>this.doFlush());return this.flushQueue=n,n}async doFlush(){if(this.bufferItems.length===0)return;let t=this.bufferItems;this.bufferItems=[],this.bufferBytes=0;let n=new Map;for(let e of t){let a=n.get(e.partition);if(!a)a=[],n.set(e.partition,a);a.push(e.json)}let u=await Promise.allSettled(Array.from(n.entries()).map(([e,a])=>this.writeNDJSON(a,e).then(()=>e))),_=u.find((e)=>e.status==="rejected");if(_){let e=new Set;for(let m of u)if(m.status==="fulfilled")e.add(m.value);let a=t.filter((m)=>!e.has(m.partition));this.bufferItems=a.concat(this.bufferItems),this.bufferBytes=0;for(let m of this.bufferItems)this.bufferBytes+=Buffer.byteLength(m.json,"utf8")+1;throw _.reason}}async writeNDJSON(t,n){let u=new Date,_=[String(u.getUTCFullYear()),String(u.getUTCMonth()+1).padStart(2,"0"),String(u.getUTCDate()).padStart(2,"0"),String(u.getUTCHours()).padStart(2,"0")],e=n?Nt(this.basePath,n,..._):Nt(this.basePath,..._);if(!this.knownDirs.has(e))await yT(e,{recursive:!0,mode:448}),this.knownDirs.add(e);let a=`${crypto.randomUUID()}.ndjson`,m=Nt(e,`.${a}.tmp`),x=Nt(e,a),o=t.join(`
|
|
1057
1057
|
`)+`
|
|
1058
|
-
`;await CT(m,o,{mode:384}),await TT(m,x)}}import{ExportResultCode as pE}from"@opentelemetry/core";import{AggregationTemporality as PE,DataPointType as rE}from"@opentelemetry/sdk-metrics";import{ExportResultCode as RE}from"@opentelemetry/core";var XE=Buffer.byteLength("... [TRUNCATED]","utf8");import{BatchLogRecordProcessor as Uf,LoggerProvider as
|
|
1058
|
+
`;await CT(m,o,{mode:384}),await TT(m,x)}}import{ExportResultCode as pE}from"@opentelemetry/core";import{AggregationTemporality as PE,DataPointType as rE}from"@opentelemetry/sdk-metrics";import{ExportResultCode as RE}from"@opentelemetry/core";var XE=Buffer.byteLength("... [TRUNCATED]","utf8");import{BatchLogRecordProcessor as Uf,LoggerProvider as jf}from"@opentelemetry/sdk-logs";import{detectResources as Jf,envDetector as Lf,hostDetector as Rf,osDetector as Wf,processDetector as kf,resourceFromAttributes as $f}from"@opentelemetry/resources";import{PeriodicExportingMetricReader as Qf}from"@opentelemetry/sdk-metrics";import{NOOP_LOGGER as FE}from"@opentelemetry/api-logs";import{NodeSDK as Hf}from"@opentelemetry/sdk-node";import{BatchSpanProcessor as Yf,SamplingDecision as M}from"@opentelemetry/sdk-trace-base";import{SpanStatusCode as AE}from"@opentelemetry/api";var zT="__d",PT=fT("Current request"),rT=1;var Ee=(t)=>{let u=new URL(t.url).searchParams.get(zT);if(u==="")return crypto.randomUUID();if(!u)u=t.headers.get("x-trace-debug-id");return u};class fe{inner;constructor(t){this.inner=t}shouldSample(t,n,u,_,e,a){let m=t.getValue(PT);if(!m){if(this.inner)return this.inner.shouldSample(t,n,u,_,e,a);return{decision:M.RECORD_AND_SAMPLED}}let x=Ee(m);if(x)return{decision:M.RECORD_AND_SAMPLED,attributes:{"trace.debug.id":x}};if(this.inner){let o=this.inner.shouldSample(t,n,u,_,e,a);if(o.decision===M.RECORD_AND_SAMPLED){let y=crypto.randomUUID();o.attributes={...o.attributes??{},"trace.debug.id":y}}return o}return{decision:M.NOT_RECORD}}toString(){return"DebugSampler"}}class we{ratio;constructor(t){this.ratio=t}shouldSample(){if(Math.random()<this.ratio)return{decision:M.RECORD_AND_SAMPLED};return{decision:M.NOT_RECORD}}toString(){return`RatioSampler(${this.ratio})`}}var Af=new pT({preventServerStart:!0}),Bf=new fe(new we(rT));var Ne=KT.getTracer("studio","1.0.0"),s=wT.getMeter("studio","1.0.0"),UT=cT.getLogger("studio","1.0.0"),Di=(t,n,u)=>{let _={},e=u,a=u[u.length-1];if(a!==null&&typeof a==="object"&&!Array.isArray(a)&&!(a instanceof Error)&&Object.getPrototypeOf(a)===Object.prototype)_=a,e=u.slice(0,-1);let m=e.map((x)=>{if(x instanceof Error)return`${x.name}: ${x.message}`;if(typeof x==="object")try{return JSON.stringify(x)}catch{return"[Object]"}return String(x)}).join(" ");UT.emit({severityNumber:t,severityText:n,body:m,attributes:{"log.source":"console",..._}})},Ji={error:console.error.bind(console),warn:console.warn.bind(console),debug:console.debug.bind(console)};console.error=(...t)=>{Di(ji.ERROR,"ERROR",t),Ji.error(...t)};console.warn=(...t)=>{Di(ji.WARN,"WARN",t),Ji.warn(...t)};console.debug=(...t)=>{Di(ji.DEBUG,"DEBUG",t),Ji.debug(...t)};var Li,Ke=0,Ri=500;function jT(){if(Li)return;let t=performance.now()+Ri;Li=setInterval(()=>{let n=performance.now();Ke=Math.max(0,n-t),t=n+Ri},Ri),Li.unref?.()}function ce(){return jT(),Ke}var JT=()=>s.createHistogram("db.query.duration",{description:"Database query execution duration in milliseconds",unit:"ms"}),pe=()=>s.createHistogram("db.pool.acquire.duration",{description:"Time spent waiting to acquire a connection from the pool",unit:"ms"}),ze=400,LT=100,RT=(t)=>(n)=>{let u={"db.statement":n.query.sql,"db.status":n.level==="error"?"error":"success"};if(n.queryDurationMillis>ze){let _=ce(),e=_>ze/2;console.error(e?"Slow query measurement \u2014 likely event-loop lag, not slow SQL:":"Slow query detected:",{durationMs:n.queryDurationMillis,eventLoopLagMs:Math.round(_),sql:n.query.sql,pool:{total:t.totalCount,idle:t.idleCount,waiting:t.waitingCount,max:ft()}})}if(JT().record(n.queryDurationMillis,u),n.level==="error")console.error("Query failed:",{durationMs:n.queryDurationMillis,error:n.error,sql:n.query.sql})};function WT(t){let n=t.connect.bind(t);return t.connect=(u)=>{if(typeof u==="function")return n(u);let _=performance.now(),e=ft(),a=t.idleCount===0&&t.totalCount>=e,m=t.idleCount;return n().then((x)=>{let o=performance.now()-_;if(pe().record(o,{"db.pool.outcome":a?"contended":"available"}),o>LT)if(a)console.error("Slow db pool acquire \u2014 pool saturated:",{waitMs:o,total:t.totalCount,idle:t.idleCount,waiting:t.waitingCount,max:e});else console.warn("Slow db pool acquire \u2014 event-loop lag (not pool):",{waitMs:o,idleAtStart:m,total:t.totalCount,max:e});return x},(x)=>{throw pe().record(performance.now()-_,{"db.pool.outcome":"error"}),x})},t}var Ue={keepAlive:!0,keepAliveInitialDelayMillis:1e4,idleTimeoutMillis:300000,connectionTimeoutMillis:30000,allowExitOnIdle:!0};function je(){try{return H().databasePgSsl}catch{return!1}}function ft(){try{return H().databasePoolMax}catch{return 10}}function kT(t){let n=WT(new re({connectionString:t,max:ft(),ssl:je(),...Ue})),u=new Pe({pool:n});return{type:"postgres",db:new DT({dialect:u,log:RT(n)}),pool:n}}function v(){return H().databaseUrl}function De(t){let n=t||v();return new Pe({pool:new re({connectionString:n,max:ft(),ssl:je(),...Ue})})}function $T(t){let n=t||v();return kT(n)}async function Je(t){if(await t.db.destroy(),!t.pool.ended)await t.pool.end();if(t===V)V=null}var V=null;function Wi(){if(!V)V=$T(v());return V}async function Le(t){let u={database:De(t||v()),plugins:[ZT({dynamicAccessControl:{enabled:!0,enableCustomResources:!0}}),FT(),HT(),MT(),AT(),hT({loginPage:"/login"}),QT(),YT({sendMagicLink:async()=>{}}),BT({sendVerificationOTP:async()=>{}})]},{toBeAdded:_,toBeCreated:e,runMigrations:a}=await XT(u);if(!_.length&&!e.length)return"up to date";return await a(),`${e.length+_.length} table(s) migrated`}async function We(t,n){return(await Y`
|
|
1059
1059
|
SELECT table_name FROM information_schema.tables
|
|
1060
1060
|
WHERE table_schema='public' AND table_name=${n}
|
|
1061
1061
|
`.execute(t)).rows.length>0}async function ST(t){if(await We(t,"plugin_migrations"))return;await Y`
|