decocms 4.50.1 → 4.51.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/assets/{AlertCircle-DvQdKX2P.js → AlertCircle-Ct7weZuE.js} +1 -1
- package/dist/client/assets/ArrowUp-CLqVzt5Z.js +1 -0
- package/dist/client/assets/{ArrowUpRight-C4ZUgCv8.js → ArrowUpRight-gaoM5S0k.js} +1 -1
- package/dist/client/assets/{Check-DT0Ecfph.js → Check-C6rOtSdY.js} +1 -1
- package/dist/client/assets/{CheckCircle-B3kM3-nx.js → CheckCircle-CREoH7p2.js} +1 -1
- package/dist/client/assets/{ChevronDown-BL5D5Kww.js → ChevronDown-BfrTp1Ch.js} +1 -1
- package/dist/client/assets/{ChevronRight-Brlyqvfv.js → ChevronRight-CvPpz1Nq.js} +1 -1
- package/dist/client/assets/{ChevronUp-D4h43NMl.js → ChevronUp-MSW-WrWs.js} +1 -1
- package/dist/client/assets/{Circle-gozopXYF.js → Circle-ow_NDQHR.js} +1 -1
- package/dist/client/assets/{Copy01-DVjpmGSQ.js → Copy01-DDhuzJaA.js} +1 -1
- package/dist/client/assets/{DotsVertical-CuOtMg5m.js → DotsVertical-CB7QN8Ws.js} +1 -1
- package/dist/client/assets/{Eye-cte0MnVy.js → Eye-C1XDNiGB.js} +1 -1
- package/dist/client/assets/{FilterLines-B1MBg_Jt.js → FilterLines-eP80xxCy.js} +1 -1
- package/dist/client/assets/{Globe01-fOy2mEYg.js → Globe01-3_GHOe2E.js} +1 -1
- package/dist/client/assets/{Globe04-BhuakAIf.js → Globe04-BAF3P1k9.js} +1 -1
- package/dist/client/assets/{HardDrive-DKydDUbm.js → HardDrive-DW6eIDxP.js} +1 -1
- package/dist/client/assets/{Key01-BhnYqbq5.js → Key01-BVXgUn29.js} +1 -1
- package/dist/client/assets/{LayoutLeft-CIXRhIgm.js → LayoutLeft-DKGWBMNA.js} +1 -1
- package/dist/client/assets/{LinkExternal01-Br3p9c4J.js → LinkExternal01-BM0S_VFU.js} +1 -1
- package/dist/client/assets/{List-DZFJgfGO.js → List-vHTogdj7.js} +1 -1
- package/dist/client/assets/{Loading02-BYDO_yva.js → Loading02-Bt_dLUWn.js} +1 -1
- package/dist/client/assets/{Monitor01-8NNEYlGa.js → Monitor01-2j67L_aU.js} +1 -1
- package/dist/client/assets/{Palette-BEYm0oRU.js → Palette-D5rmfc3a.js} +1 -1
- package/dist/client/assets/{Play-BAkY7Fxv.js → Play-Bv09TV2w.js} +1 -1
- package/dist/client/assets/{Plus-BWS7YRCt.js → Plus-D9m58hN2.js} +1 -1
- package/dist/client/assets/{SearchLg-sYqeRxUE.js → SearchLg-6CR82X0W.js} +1 -1
- package/dist/client/assets/{SearchMd-D3a2hIUP.js → SearchMd-BfevlctH.js} +1 -1
- package/dist/client/assets/{Settings02-CJWk9pL-.js → Settings02-f8loRSef.js} +1 -1
- package/dist/client/assets/{Shield01-1T25s-tn.js → Shield01-DPzSiB-T.js} +1 -1
- package/dist/client/assets/{Star01-LBoyDaKY.js → Star01-DoabU7Hn.js} +1 -1
- package/dist/client/assets/{Stars01-5MzsUK6G.js → Stars01-Q9LxQc27.js} +1 -1
- package/dist/client/assets/{Stars02-H_ePh5tT.js → Stars02-DaEgHmQI.js} +1 -1
- package/dist/client/assets/{Sun-DvwmIRmO.js → Sun-CclxevtX.js} +1 -1
- package/dist/client/assets/SwitchHorizontal01-sGYV2dsM.js +1 -0
- package/dist/client/assets/{Tool01-BFRbBZqm.js → Tool01-Bfw6sadd.js} +1 -1
- package/dist/client/assets/{Trash01-CqJAv-4z.js → Trash01-TYv08n93.js} +1 -1
- package/dist/client/assets/{Upload01-BEmoOwcr.js → Upload01-bdtJr5BI.js} +1 -1
- package/dist/client/assets/{User01-Ckt1oKpR.js → User01-BZEdjS8N.js} +1 -1
- package/dist/client/assets/{Users01-C3ZswPLc.js → Users01-D0TsDHjS.js} +1 -1
- package/dist/client/assets/{Users03-BQZ9UhFk.js → Users03-B4feTEaY.js} +1 -1
- package/dist/client/assets/{X-CAX-FceB.js → X-CJDTMZdu.js} +1 -1
- package/dist/client/assets/{XCircle-D6yhOy3u.js → XCircle-F9-2oAiq.js} +1 -1
- package/dist/client/assets/{XClose-DuZ4u7Uu.js → XClose-BKoSgWfP.js} +1 -1
- package/dist/client/assets/{Zap-DWMv1jO1.js → Zap-GCvYK6cT.js} +1 -1
- package/dist/client/assets/{ZapSquare-do_RxxO8.js → ZapSquare-BBu4b6r_.js} +1 -1
- package/dist/client/assets/{ZoomOut-DK6J-pHc.js → ZoomOut-ox9YzR1a.js} +1 -1
- package/dist/client/assets/access-gate-Yfi4ekhF.js +1 -0
- package/dist/client/assets/{add-section-modal-DzvsujkT.js → add-section-modal-d8gKomF9.js} +1 -1
- package/dist/client/assets/admin-fetch-CCSvjTk1.js +1 -0
- package/dist/client/assets/agent-capabilities-BrHWT2H6.js +1 -0
- package/dist/client/assets/agent-icon-C2ANw4X5.js +1 -0
- package/dist/client/assets/agents-list-DcAZyk1U.js +1 -0
- package/dist/client/assets/ai-providers-CLLgcR35.js +1 -0
- package/dist/client/assets/{alert-Dd7VLodG.js → alert-BLw4eidn.js} +1 -1
- package/dist/client/assets/{alert-dialog-C4qC2FY4.js → alert-dialog-BglRhrg0.js} +3 -3
- package/dist/client/assets/app-editor-Be9j6Psz.js +1 -0
- package/dist/client/assets/{auth-DBkkYg-T.js → auth-DKsARQye.js} +1 -1
- package/dist/client/assets/{auth-catchall-DfxF4BPq.js → auth-catchall-DwgEjeTg.js} +1 -1
- package/dist/client/assets/{auth-entry-wfy-u0F0.js → auth-entry-CQlhwp6I.js} +1 -1
- package/dist/client/assets/{auth-split-layout-ktXvps3s.js → auth-split-layout-CZ_OCZxj.js} +1 -1
- package/dist/client/assets/{authenticate-and-persist-oauth-Bbf69cXY.js → authenticate-and-persist-oauth-DWDcBYz0.js} +1 -1
- package/dist/client/assets/{automation-list-row-DBzmw45u.js → automation-list-row-Bq-loDW7.js} +1 -1
- package/dist/client/assets/{automation-runs-DHRDLBLv.js → automation-runs-DoqJWooa.js} +1 -1
- package/dist/client/assets/automations-C-RHUi9C.js +1 -0
- package/dist/client/assets/{autosend-d6dIJs7M.js → autosend-CYyCczkd.js} +1 -1
- package/dist/client/assets/{avatar-DWC-yfzJ.js → avatar-BvMZq_TI.js} +1 -1
- package/dist/client/assets/{badge-DJdw3Rsl.js → badge-7J4kgEzC.js} +1 -1
- package/dist/client/assets/{block-document-BGR4oU7t.js → block-document-CEQDI6GW.js} +1 -1
- package/dist/client/assets/brand-context-B-G2N5Cc.js +1 -0
- package/dist/client/assets/{breadcrumb-CbTWSDKt.js → breadcrumb-DX6VmR2b.js} +1 -1
- package/dist/client/assets/{buckets-DXJgsymj.js → buckets-BnVc6A5T.js} +1 -1
- package/dist/client/assets/bulk-category-panel-dwWBDZdx.js +1 -0
- package/dist/client/assets/{calendar-DuEt6MhW.js → calendar-DlspiiCF.js} +1 -1
- package/dist/client/assets/capability-load-error-BM3-quVD.js +1 -0
- package/dist/client/assets/{card-fRwe0bJZ.js → card-DJEMjLyN.js} +1 -1
- package/dist/client/assets/category-editor-D49qQ_5A.js +1 -0
- package/dist/client/assets/{chat-context-B0O0Okxx.js → chat-context-DWWQ8fi_.js} +1 -1
- package/dist/client/assets/{checkbox-C1s1Cv92.js → checkbox-BW3fb6zN.js} +1 -1
- package/dist/client/assets/{cli-auth-success-Gjk2YP9E.js → cli-auth-success-CYZtnqJM.js} +1 -1
- package/dist/client/assets/collection-detail-CuUENpdt.js +1 -0
- package/dist/client/assets/collection-display-button-CwpKpIcC.js +1 -0
- package/dist/client/assets/{collection-search-DFZjjhrH.js → collection-search-C_SgZaX4.js} +1 -1
- package/dist/client/assets/collection-table-wrapper-CtK9vkZI.js +1 -0
- package/dist/client/assets/{collection-tabs-DKk8l5Nv.js → collection-tabs-DcJTaWg5.js} +1 -1
- package/dist/client/assets/{command-CslXjYaI.js → command-BK76iADW.js} +1 -1
- package/dist/client/assets/commerce-onboarding-CacbF47W.js +1 -0
- package/dist/client/assets/connect-desktop-dialog-BVhGL3hA.js +1 -0
- package/dist/client/assets/connection-card-BZCmFzT0.js +1 -0
- package/dist/client/assets/connection-detail-B8lH7kfR.js +1 -0
- package/dist/client/assets/{connection-form-helpers-2Hj68sfK.js → connection-form-helpers-DsmizTyk.js} +1 -1
- package/dist/client/assets/connections-DaqgHt93.js +1 -0
- package/dist/client/assets/{decopilot-sse-pool-B14erbbw.js → decopilot-sse-pool-CQt0Qt9t.js} +1 -1
- package/dist/client/assets/{dialog-B4FPUVJm.js → dialog-VQoq6ED0.js} +1 -1
- package/dist/client/assets/domain-settings-DQrCzdxW.js +1 -0
- package/dist/client/assets/{drawer-CsmWGB6A.js → drawer-BiUeA1xK.js} +1 -1
- package/dist/client/assets/{dropdown-menu-BXp0fOBv.js → dropdown-menu-Q9JsQJsN.js} +1 -1
- package/dist/client/assets/{empty-state-DUwhZpUT.js → empty-state-Bx2oDYyE.js} +1 -1
- package/dist/client/assets/{extract-connection-data-Du4c1lRI.js → extract-connection-data-CBaWfjW4.js} +1 -1
- package/dist/client/assets/file-explorer-NjBXraWZ.js +2 -0
- package/dist/client/assets/{file-type-icon-BsGfZ7Mt.js → file-type-icon-Byym_Yq8.js} +1 -1
- package/dist/client/assets/{files-BRsrXnK1.js → files-Bzx4vIyM.js} +1 -1
- package/dist/client/assets/{form-CIHkncRQ.js → form-Ck57FY_v.js} +1 -1
- package/dist/client/assets/format-time-BnbuEtat.js +1 -0
- package/dist/client/assets/general-DTNBl6eM.js +1 -0
- package/dist/client/assets/github-repo-picker-Cv4fHpMw.js +1 -0
- package/dist/client/assets/{hooks-Cln-uffe.js → hooks-BCy5e9GO.js} +5 -5
- package/dist/client/assets/{index-BtXBV2Et.js → index-2V8OIw2c.js} +1 -1
- package/dist/client/assets/{index-BrYQWjA0.js → index-BNkKptlK.js} +1 -1
- package/dist/client/assets/{index-Bt7VlfeQ.js → index-BkSsc9os.js} +1 -1
- package/dist/client/assets/index-BxDQDgZD.js +1 -0
- package/dist/client/assets/{index-BE0jgIkY.js → index-CA5Ck5O8.js} +3 -3
- package/dist/client/assets/{index-BPc0E2v5.js → index-CP0NJqZH.js} +6 -6
- package/dist/client/assets/{index-DOA46HRo.js → index-ChTrjmId.js} +4 -4
- package/dist/client/assets/index-Cz1AR3Zz.js +1 -0
- package/dist/client/assets/{index-C2Xrxv4z.js → index-D-yF_uFs.js} +1 -1
- package/dist/client/assets/index-D1Oy1H9B.js +1 -0
- package/dist/client/assets/{index-BCuWJvJV.js → index-D544QCka.js} +1 -1
- package/dist/client/assets/{index-loGM-Zqm.js → index-DAFO_OTU.js} +14 -14
- package/dist/client/assets/{index-Dgf9uMoE.js → index-RzCbz7G4.js} +28 -28
- package/dist/client/assets/index-ZbSNKPKh.css +1 -0
- package/dist/client/assets/{index-w7ppCtrf.js → index-iSSICeOA.js} +1 -1
- package/dist/client/assets/{index-redirect-9j6LkyoI.js → index-redirect-BTf9IrPi.js} +1 -1
- package/dist/client/assets/{input-oiex_Sqb.js → input-CmS4IhfL.js} +1 -1
- package/dist/client/assets/{integration-icon-aZSadBLO.js → integration-icon-B64oCP0F.js} +1 -1
- package/dist/client/assets/invite-member-dialog-BoCPYFUb.js +3 -0
- package/dist/client/assets/{label-CmLwbefD.js → label-BRuRKPr0.js} +1 -1
- package/dist/client/assets/layout-CT250kMb.js +1 -0
- package/dist/client/assets/{login-C0ZjtJpq.js → login-CldG7DZa.js} +1 -1
- package/dist/client/assets/{mcp-oauth-CdnuFysO.js → mcp-oauth-C23-dwpq.js} +1 -1
- package/dist/client/assets/members-CNrOGJa0.js +1 -0
- package/dist/client/assets/{monaco-editor-d15d-RZJ.js → monaco-editor-DR7220lx.js} +2 -2
- package/dist/client/assets/{monitoring-stats-row-zzC6T7XL.js → monitoring-stats-row-BZL3Rvz8.js} +1 -1
- package/dist/client/assets/{oauth-callback-EgT8jFmC.js → oauth-callback-DcfZfqGm.js} +1 -1
- package/dist/client/assets/{oauth-callback-ai-provider-CRV9LcjN.js → oauth-callback-ai-provider-Ce9G5qtJ.js} +1 -1
- package/dist/client/assets/{onboarding-N_yKxU4j.js → onboarding-B25kyk06.js} +1 -1
- package/dist/client/assets/org-install-Bji_kE_8.js +1 -0
- package/dist/client/assets/{org-layout-DNgYRXIB.js → org-layout-CKR3WJzm.js} +1 -1
- package/dist/client/assets/{organization-choice-pAAagV_i.js → organization-choice-DTClrrnJ.js} +1 -1
- package/dist/client/assets/orgs-BwjlPx55.js +1 -0
- package/dist/client/assets/page-seo-sheet-BgXbK0SD.js +1 -0
- package/dist/client/assets/{popover-BjB-5tFY.js → popover-DOYlXTug.js} +1 -1
- package/dist/client/assets/post-editor-C_RBUxWZ.js +1 -0
- package/dist/client/assets/{primitives-Ds0WLoLr.js → primitives-h6UMy2ac.js} +1 -1
- package/dist/client/assets/{profile-CzCmCXYA.js → profile-BeG5MWeA.js} +1 -1
- package/dist/client/assets/project-app-view-CJsN01Kq.js +1 -0
- package/dist/client/assets/record-editor-Cxnw_s7-.js +1 -0
- package/dist/client/assets/registry-CO3wS9en.js +2 -0
- package/dist/client/assets/{registry-layout-B80BPaTp.js → registry-layout-B3NcP7G9.js} +1 -1
- package/dist/client/assets/{require-capability-CC8Cb4eK.js → require-capability-BwJAyhw_.js} +1 -1
- package/dist/client/assets/{required-auth-layout-Bxaf6y0u.js → required-auth-layout-BnUL76ZK.js} +1 -1
- package/dist/client/assets/{reset-password-CaEUMCHV.js → reset-password-DXMG8bNT.js} +1 -1
- package/dist/client/assets/roles-Cr24Ru3H.js +1 -0
- package/dist/client/assets/{search-input-DUPgDj3Q.js → search-input-Cvhmar4S.js} +1 -1
- package/dist/client/assets/{secrets-hHXyxqcY.js → secrets-C_rz33jP.js} +1 -1
- package/dist/client/assets/{sections-editor-DLA_tn_Z.js → sections-editor-DB_WyCzE.js} +2 -2
- package/dist/client/assets/{select-Ct8ODrmD.js → select-cLkB0xx3.js} +1 -1
- package/dist/client/assets/{select-model-CXARzc0b.js → select-model-C6Zl96g0.js} +2 -2
- package/dist/client/assets/seo-editor-CKENU8Ce.js +1 -0
- package/dist/client/assets/{seo-save-CaN3ncbg.js → seo-save-CcM551vP.js} +1 -1
- package/dist/client/assets/settings-layout-PBMPJvHi.js +1 -0
- package/dist/client/assets/{settings-section-CIZ7OrhY.js → settings-section-B5s6i1AE.js} +1 -1
- package/dist/client/assets/{shell-controls-DcH8LcQe.js → shell-controls-DFx9R0D_.js} +1 -1
- package/dist/client/assets/shell-layout-P9zH_bFZ.js +1 -0
- package/dist/client/assets/{sidebar-DGCj3BzG.js → sidebar-Dg_hr7dR.js} +1 -1
- package/dist/client/assets/{skeleton-h_Rrfd9X.js → skeleton-CZJQcXjJ.js} +1 -1
- package/dist/client/assets/sso-Bn2_Oeeg.js +1 -0
- package/dist/client/assets/store-Cy3LEKoA.js +1 -0
- package/dist/client/assets/store-registry-CNggLKId.js +2 -0
- package/dist/client/assets/studio-tools-D1WvthcJ.js +1 -0
- package/dist/client/assets/{switch-5bdjLWcS.js → switch-DvI4Ivs6.js} +1 -1
- package/dist/client/assets/{table-m4VurkE4.js → table-Rcs576gh.js} +1 -1
- package/dist/client/assets/{tabs-7O9mSdEa.js → tabs-BYqpHacd.js} +1 -1
- package/dist/client/assets/{textarea-DTygx-PF.js → textarea-DfbK_YWl.js} +1 -1
- package/dist/client/assets/{toggle-group-CArvNNKC.js → toggle-group-DPk7hBEB.js} +1 -1
- package/dist/client/assets/{toolbar-icon-button-j_UeiHvv.js → toolbar-icon-button-BfscRxQb.js} +1 -1
- package/dist/client/assets/{toolbar-Cap3B0tq.js → toolbar-spKhA4Pi.js} +1 -1
- package/dist/client/assets/tools-list-GD_nS-CN.js +1 -0
- package/dist/client/assets/{tooltip-1foZ_k7s.js → tooltip-D9y133qH.js} +1 -1
- package/dist/client/assets/{types-DI-1sdV1.js → types-u5_F63vr.js} +3 -3
- package/dist/client/assets/use-ai-providers-Be4jiLlp.js +1 -0
- package/dist/client/assets/use-automations-Bj7ea45i.js +1 -0
- package/dist/client/assets/use-capability-BAJSmOR6.js +1 -0
- package/dist/client/assets/{use-clock-tick-BVVBiunA.js → use-clock-tick-DiAMyzbm.js} +1 -1
- package/dist/client/assets/{use-collections-zePUbAs4.js → use-collections-B0fmzWMT.js} +1 -1
- package/dist/client/assets/use-connection-CoNk61jl.js +1 -0
- package/dist/client/assets/{use-copy-DSFHRfjF.js → use-copy-CC8l0MM4.js} +1 -1
- package/dist/client/assets/{use-create-virtual-mcp-BiykOxhR.js → use-create-virtual-mcp-DHvF-qx5.js} +1 -1
- package/dist/client/assets/{use-debounced-autosave-DcfXuKw9.js → use-debounced-autosave-DVAOELdx.js} +1 -1
- package/dist/client/assets/{use-debounced-value-CrZFsUmt.js → use-debounced-value-BUPZwZxl.js} +1 -1
- package/dist/client/assets/{use-decopilot-events-BPApfysb.js → use-decopilot-events-CwboOo9R.js} +1 -1
- package/dist/client/assets/use-delete-connection-BRROztaa.js +1 -0
- package/dist/client/assets/use-deployment-admin-DjDR8kPw.js +1 -0
- package/dist/client/assets/use-file-configs-CiH7freP.js +1 -0
- package/dist/client/assets/{use-infinite-scroll-BmH_7PeD.js → use-infinite-scroll-CLzTjnPW.js} +1 -1
- package/dist/client/assets/use-join-requests-wFFDbE5s.js +1 -0
- package/dist/client/assets/{use-mcp-client-DbUnPC2U.js → use-mcp-client-D3e9ceNa.js} +4 -4
- package/dist/client/assets/{use-mcp-prompts-D4BjUd_Q.js → use-mcp-prompts-D_i1iWd2.js} +1 -1
- package/dist/client/assets/{use-mcp-tools-aSGZtgAI.js → use-mcp-tools-eYiXWlAi.js} +1 -1
- package/dist/client/assets/use-members-oJt5povW.js +1 -0
- package/dist/client/assets/{use-mobile-B-H7VJlh.js → use-mobile-BD37jY8Y.js} +1 -1
- package/dist/client/assets/use-navigate-to-agent-C_szOIys.js +1 -0
- package/dist/client/assets/use-org-auth-client-BbOBgx1F.js +1 -0
- package/dist/client/assets/{use-org-sso-BV4x4p-5.js → use-org-sso-C5MQ0Bj7.js} +1 -1
- package/dist/client/assets/use-organization-roles-PP5Ze7E4.js +1 -0
- package/dist/client/assets/use-organization-settings-BPsQDYqA.js +1 -0
- package/dist/client/assets/use-registry-connections-sVBXNIyN.js +1 -0
- package/dist/client/assets/use-secrets-C4J7nZmF.js +1 -0
- package/dist/client/assets/{use-status-sounds-CtrLXRrg.js → use-status-sounds-BEcDaP-9.js} +1 -1
- package/dist/client/assets/{use-view-mode-CpRSxfa9.js → use-view-mode-B8ZvyTJu.js} +1 -1
- package/dist/client/assets/use-virtual-mcp-D1vadQaQ.js +1 -0
- package/dist/client/assets/useInfiniteQuery-FvBo89pe.js +1 -0
- package/dist/client/assets/useRouterState-CKoYWt4i.js +1 -0
- package/dist/client/assets/useSuspenseInfiniteQuery-CmezFxqW.js +1 -0
- package/dist/client/assets/users-C0Qc7Jal.js +1 -0
- package/dist/client/assets/variant-calendar-BTZUazZ2.js +1 -0
- package/dist/client/assets/{view-mode-toggle-IUxgH98b.js → view-mode-toggle-CcfquXZC.js} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/server/cli.js +481 -481
- package/dist/server/migrate.js +1 -1
- package/dist/server/server.js +314 -314
- package/package.json +1 -1
- package/dist/client/assets/SwitchHorizontal01-CEx7u3Ha.js +0 -1
- package/dist/client/assets/access-gate-BoaBcBcQ.js +0 -1
- package/dist/client/assets/agent-capabilities-udLJw-cm.js +0 -1
- package/dist/client/assets/agent-icon-DryRwerX.js +0 -1
- package/dist/client/assets/agents-list-Ts1COBbM.js +0 -1
- package/dist/client/assets/ai-providers-Bkg5iXmH.js +0 -1
- package/dist/client/assets/app-editor-CgSwIbOw.js +0 -1
- package/dist/client/assets/automations-CBd2I4AI.js +0 -1
- package/dist/client/assets/brand-context-DTtKwfXh.js +0 -1
- package/dist/client/assets/bulk-category-panel-BLrzcvWT.js +0 -1
- package/dist/client/assets/capability-load-error-jhIJPxL6.js +0 -1
- package/dist/client/assets/category-editor-CcRWkoEb.js +0 -1
- package/dist/client/assets/collection-detail-CtM2kg0x.js +0 -1
- package/dist/client/assets/collection-display-button-C3a5JxQa.js +0 -1
- package/dist/client/assets/collection-table-wrapper-C6PjuHgw.js +0 -1
- package/dist/client/assets/commerce-onboarding-DHT_nBuJ.js +0 -1
- package/dist/client/assets/connect-desktop-dialog-D3fwzLbi.js +0 -1
- package/dist/client/assets/connection-card-Do3n6-0X.js +0 -1
- package/dist/client/assets/connection-detail-CzIcxrxO.js +0 -1
- package/dist/client/assets/connections-M8hPZ8h_.js +0 -1
- package/dist/client/assets/domain-settings-B7X2BGW_.js +0 -1
- package/dist/client/assets/file-explorer-dehRUbZq.js +0 -2
- package/dist/client/assets/format-time-Cy7tTmZp.js +0 -1
- package/dist/client/assets/general-C_FpLf3Q.js +0 -1
- package/dist/client/assets/github-repo-picker-CnKj3G6a.js +0 -1
- package/dist/client/assets/index-1lPjtuok.js +0 -1
- package/dist/client/assets/index-XnT9B5AX.js +0 -1
- package/dist/client/assets/index-b3V1CkLW.css +0 -1
- package/dist/client/assets/index-l7TANBTQ.js +0 -1
- package/dist/client/assets/invite-member-dialog-IU7TOmN2.js +0 -3
- package/dist/client/assets/members-BS0Y_-RA.js +0 -1
- package/dist/client/assets/org-install-D3e2RXf5.js +0 -1
- package/dist/client/assets/page-seo-sheet-oQ_VYV1S.js +0 -1
- package/dist/client/assets/post-editor-DSs8Lcxg.js +0 -1
- package/dist/client/assets/project-app-view-DkIw6469.js +0 -1
- package/dist/client/assets/record-editor-By2OLFPe.js +0 -1
- package/dist/client/assets/registry-wO6PtzH3.js +0 -2
- package/dist/client/assets/roles-CI4mrdaD.js +0 -1
- package/dist/client/assets/seo-editor-BpwYJzgf.js +0 -1
- package/dist/client/assets/settings-layout-CGatm5aT.js +0 -1
- package/dist/client/assets/shell-layout-B4WmiL97.js +0 -1
- package/dist/client/assets/sso-Xyp2hR06.js +0 -1
- package/dist/client/assets/store-Cmzf3YVA.js +0 -1
- package/dist/client/assets/store-registry-C9g9AZIb.js +0 -2
- package/dist/client/assets/studio-tools-BaimbcRe.js +0 -1
- package/dist/client/assets/tools-list-S4uoHI5a.js +0 -1
- package/dist/client/assets/use-ai-providers-CLhyvTsV.js +0 -1
- package/dist/client/assets/use-automations-DI4zmIKR.js +0 -1
- package/dist/client/assets/use-capability-BDb9Fsiz.js +0 -1
- package/dist/client/assets/use-connection-BibmCEFD.js +0 -1
- package/dist/client/assets/use-delete-connection-D87N3EAi.js +0 -1
- package/dist/client/assets/use-file-configs-uzLbxssm.js +0 -1
- package/dist/client/assets/use-join-requests-DEIhG119.js +0 -1
- package/dist/client/assets/use-members-Buz_D9kT.js +0 -1
- package/dist/client/assets/use-navigate-to-agent-_WYF41V-.js +0 -1
- package/dist/client/assets/use-org-auth-client-Dr5MvmUs.js +0 -1
- package/dist/client/assets/use-organization-roles-CqDIe-bv.js +0 -1
- package/dist/client/assets/use-organization-settings-CsH8Ep36.js +0 -1
- package/dist/client/assets/use-registry-connections-C948P_nl.js +0 -1
- package/dist/client/assets/use-secrets-B8xSCB_X.js +0 -1
- package/dist/client/assets/use-virtual-mcp-CjUwVbqH.js +0 -1
- package/dist/client/assets/useInfiniteQuery-DWB8a2J-.js +0 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-Ip6E6dwx.js +0 -1
- package/dist/client/assets/variant-calendar-DYAW4a46.js +0 -1
package/dist/server/migrate.js
CHANGED
|
@@ -1007,7 +1007,7 @@ var Hi=Object.defineProperty;var Yi=(t)=>t;function Bi(t,n){this[t]=Yi.bind(null
|
|
|
1007
1007
|
BEFORE INSERT ON connection_aggregations
|
|
1008
1008
|
FOR EACH ROW
|
|
1009
1009
|
EXECUTE FUNCTION enforce_repo_github_child_single_parent();
|
|
1010
|
-
`.execute(t)}async function tx(t){await L`DROP TRIGGER IF EXISTS trg_repo_github_child_single_parent ON connection_aggregations;`.execute(t),await L`DROP FUNCTION IF EXISTS enforce_repo_github_child_single_parent();`.execute(t),await L`DROP FUNCTION IF EXISTS try_parse_jsonb(text);`.execute(t)}var Se={};i(Se,{up:()=>nx,down:()=>ex});import{sql as Oe}from"kysely";async function nx(t){await t.schema.createTable("task_board_items").addColumn("id","text",(n)=>n.primaryKey().notNull()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(n)=>n.notNull()).addColumn("description","text").addColumn("status","text",(n)=>n.notNull().defaultTo("triage")).addColumn("priority","text",(n)=>n.notNull().defaultTo("medium")).addColumn("assignee_id","text").addColumn("created_by","text",(n)=>n.notNull()).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(Oe`now()`)).addColumn("updated_by","text",(n)=>n.notNull()).addColumn("updated_at","timestamptz",(n)=>n.notNull().defaultTo(Oe`now()`)).execute(),await t.schema.createIndex("idx_task_board_items_org").on("task_board_items").column("organization_id").execute(),await t.schema.alterTable("organization_settings").addColumn("task_board_enabled","boolean",(n)=>n.notNull().defaultTo(Oe`false`)).execute()}async function ex(t){await t.schema.alterTable("organization_settings").dropColumn("task_board_enabled").execute(),await t.schema.dropTable("task_board_items").execute()}var He={};i(He,{up:()=>ix,down:()=>ax});async function ix(t){await t.schema.alterTable("task_board_items").addColumn("due_date","timestamptz").execute()}async function ax(t){await t.schema.alterTable("task_board_items").dropColumn("due_date").execute()}var Ye={};i(Ye,{up:()=>ux,down:()=>ox});async function ux(t){await t.schema.alterTable("organization_settings").addColumn("reports_only","boolean").execute()}async function ox(t){await t.schema.alterTable("organization_settings").dropColumn("reports_only").execute()}var _x={"001-initial-schema":yt,"002-organization-settings":ct,"003-connection-schema-align":Tt,"004-remove-models-binding":pt,"005-connection-configuration":wt,"006-add-views-to-settings":ft,"007-monitoring-logs":Ct,"008-event-bus":Nt,"009-drop-audit-logs":st,"010-gateways":Et,"011-gateway-icon":ht,"012-gateway-tool-selection-mode":Kt,"013-monitoring-user-agent-gateway":kt,"014-gateway-resources-prompts":Pt,"015-monitoring-properties":zt,"016-downstream-token-client-info":Ut,"017-downstream-token-remove-userid":Dt,"018-drop-gateway-tool-selection-strategy":Lt,"019-remove-gateway-is-default":jt,"020-enabled-plugins":Jt,"021-threads":Rt,"022-rename-gateway-to-virtual-mcp":At,"023-optimize-thread-indexes":Wt,"024-consolidate-virtual-mcp":$t,"025-add-monitoring-virtual-mcp-id":gt,"026-restrict-child-connection-delete":Xt,"027-update-management-mcp-url":Qt,"028-update-management-mcp-to-self":Mt,"029-add-updated-by-to-connections":Ot,"030-member-tags":St,"031-add-dependency-mode":Ht,"032-projects":Yt,"033-thread-status":Bt,"034-monitoring-dashboards":It,"035-project-connections":Gt,"036-update-registry-url":vt,"037-ai-provider-keys":Vt,"038-oauth-pkce-states":qt,"039-automations":lt,"040-replace-next-run-at-with-last-run-at":dt,"041-ai-provider-keys-unique-constraint":bt,"042-rename-mesh-mcp-to-cms-mcp":tn,"043-rename-cms-mcp-to-deco-cms":nn,"044-drop-connections-tools-column":en,"045-thread-context-start-message":an,"046-remove-object-storage-plugin":on,"047-add-next-run-at":_n,"048-merge-projects-agents":xn,"049-remove-org-admin-projects":rn,"050-durable-agent-runs":yn,"051-org-sso":Tn,"052-thread-agent-ids":pn,"053-registry-config":wn,"054-connection-slug":Cn,"055-spaces":Nn,"056-automation-project-scope":sn,"057-thread-virtual-mcp-id":En,"058-trigger-callback-tokens":hn,"059-kv":Kn,"060-member-index":kn,"061-downstream-token-connection-index":Pn,"062-private-registry":zn,"063-event-subscriptions-enabled-boolean":Un,"064-brand-context":Dn,"065-organization-domains":Ln,"066-brand-context-structured":jn,"067-threads-metadata":Jn,"068-threads-branch":Rn,"069-sandbox-runner-state":An,"070-model-categories":Wn,"071-default-home-agents":$n,"072-ai-provider-key-preset-id":gn,"073-backfill-basic-usage-roles":Xn,"074-sandbox-runner-state-handle-nonunique":Fn,"075-thread-inflight-async-jobs":Qn,"076-automations-drop-agent-json":Zn,"077-tier-only-model-selection":On,"078-automation-tool-call-kind":Sn,"079-strip-legacy-freestyle-vm-map-entries":Hn,"080-async-research-jobs":Yn,"081-async-research-jobs-result-content":Bn,"082-secrets":In,"083-thread-run-locally":Gn,"084-drop-host-sandbox-rows":vn,"085-rename-runner-kind":Vn,"086-thread-pins-and-vm-map-rekey":qn,"087-fix-vm-map-rekey":ln,"088-purge-cli-activate-keys":dn,"089-rename-remote-user-to-desktop":bn,"090-automation-webhook-triggers":te,"091-organization-domains-allow-multi":ne,"092-sandbox-naming-uniformization":ee,"093-backfill-global-search-basic-usage":ie,"094-org-file-configs":ue,"095-remove-automation-tool-call-kind":oe,"096-org-file-configs-public-url-base":_e,"097-drop-local-docker-sandbox-state":xe,"098-thread-message-parts":re,"099-run-fence":ye,"100-link-transport":ce,"101-cancel-requested-at":Te,"102-observational-agent":pe,"103-revert-observational-agent":we,"104-agent-sandbox-provider-kind":Ce,"105-org-fs":Ne,"106-automation-tools":se,"107-org-fs-public-org":Ee,"108-automation-max-agent-steps":he,"109-thread-message-parts-per-message-seq":Ke,"110-backfill-ghs-token-expiry":ke,"111-org-fs-thread-id":Pe,"112-org-file-configs-credential-type":ze,"113-thread-failure-reason":Ue,"114-run-acked-seq":De,"115-thread-projected-seq":Le,"116-org-sites":je,"117-org-file-configs-site-slug":Je,"118-organization-domains-multi-verify":Re,"119-organization-join-requests":Ae,"120-org-fs-read-public":We,"121-org-fs-share-password":$e,"122-split-web-research-tier":Fe,"123-connection-credential-vault":Qe,"124-drop-thread-projected-seq":Ze,"125-github-child-single-parent":Me,"126-task-board":Se,"127-task-board-due-date":He,"128-reports-only":Ye},Be=_x;import{getMigrations as Zx}from"better-auth/db";import{sso as Mx}from"@better-auth/sso";import{organization as Ox}from"@decocms/better-auth/plugins";import{admin as Sx,apiKey as Hx,jwt as Yx,magicLink as Bx,mcp as Ix,openAPI as Gx}from"better-auth/plugins";import{emailOTP as vx}from"better-auth/plugins/email-otp";import{Kysely as Ax,PostgresDialect as $i}from"kysely";import{Pool as gi}from"pg";import{homedir as mx}from"os";var xx=new Set(["all","worker","api"]);function rx(t){let n=(t??"").trim();return xx.has(n)?n:"all"}function $(t){return t==="true"||t==="1"}function yx(t){if(t===void 0||t==="")return;return $(t)}function cx(t,n,e){if(n===void 0||n==="")return e;let u=Number(n);if(!Number.isSafeInteger(u)||u<=0)throw Error(`${t} must be a positive integer`);return u}function Tx(t,n){if(t===void 0||t==="")return n;return t==="true"||t==="1"}function Pi(t){if(!t)return null;try{let e=new URL(t).hostname;if(e==="localhost"||e==="127.0.0.1"||e==="::1")return null;return t}catch{return null}}var px=new Set(["agent-sandbox","user-desktop"]);function wx(t){let n=t&&t.length>0?t:"user-desktop";if(n==="cluster")return"agent-sandbox";if(!px.has(n))throw Error(`Unknown STUDIO_SANDBOX_PROVIDER="${t}" \u2014 expected "agent-sandbox", legacy "cluster", or "user-desktop".`);return n}function zi(t,n){let e=t.home||n.DATA_DIR||n.DECOCMS_HOME||`${mx()}/deco`,u=t.localMode,a=t.nodeEnv||n.NODE_ENV||"development",o=n.NATS_URL||"nats://localhost:4222",m=yx(n.NATS_TUNNEL_PUBLIC_ENABLED)??!!n.NATS_PUBLIC_URL;return{settings:{nodeEnv:a,port:Number(t.port)||Number(n.PORT)||3000,baseUrl:t.baseUrl||n.BASE_URL,dataDir:e,databasePgSsl:$(n.DATABASE_PG_SSL),databasePoolMax:Number(n.DATABASE_POOL_MAX)||5,betterAuthSecret:n.BETTER_AUTH_SECRET||"",encryptionKey:n.ENCRYPTION_KEY||"",meshJwtSecret:n.MESH_JWT_SECRET,localMode:u,disableRateLimit:$(n.DISABLE_RATE_LIMIT),studioProvisionSecretKey:n.STUDIO_PROVISION_SECRET_KEY,clickhouseUrl:n.CLICKHOUSE_URL,clickhouseMaxMemoryUsage:Number(n.CLICKHOUSE_MAX_MEMORY_USAGE)||void 0,monitoringOtlpEndpoint:n.MONITORING_OTLP_ENDPOINT,otelServiceName:n.OTEL_SERVICE_NAME||"studio",natsPublicUrl:n.NATS_PUBLIC_URL,natsTunnelPublicEnabled:m,natsTunnelSessionTtlSeconds:cx("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:$(n.DECO_AI_GATEWAY_ENABLED),aiGatewayUrl:n.DECO_AI_GATEWAY_URL||"https://ai-site.deco.site",enableDecoImport:$(n.ENABLE_DECO_IMPORT),mcpCacheEnabled:Tx(n.MCP_CACHE_ENABLED,a!=="development"),orgFsPublicSetsJson:n.ORGFS_PUBLIC_SETS,orgFsMountsDisabled:$(n.DISABLE_ORGFS_MOUNTS),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:n.S3_FORCE_PATH_STYLE===void 0||n.S3_FORCE_PATH_STYLE===""||n.S3_FORCE_PATH_STYLE==="true"||n.S3_FORCE_PATH_STYLE==="1",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:rx(n.MESH_DISPATCH_ROLE),sandboxProviderKind:wx(n.STUDIO_SANDBOX_PROVIDER),decoSupabaseUrl:n.DECO_SUPABASE_URL,decoSupabaseServiceKey:n.DECO_SUPABASE_SERVICE_KEY,firecrawlApiKey:n.FIRECRAWL_API_KEY,commerceDiscoveryInternalApiUrl:n.COMMERCE_DISCOVERY_INTERNAL_API_URL,commerceDiscoveryInternalApiKey: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:Pi(n.DATABASE_URL),externalNatsUrl:Pi(o),skipMigrations:t.skipMigrations}}var ot=null;function g(){if(!ot)fx();return ot}function fx(){if(ot)return;let t={...process.env},n=zi({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);ot=Object.freeze({...n.settings,databaseUrl:t.DATABASE_URL??"postgresql://postgres:postgres@localhost:5432/postgres",natsUrls:(t.NATS_URL||"nats://localhost:4222").split(",").map((e)=>e.trim()).filter(Boolean)})}import{createContextKey as Kx,metrics as kx,propagation as Gc,ROOT_CONTEXT as vc,SpanStatusCode as Vc,trace as Px}from"@opentelemetry/api";import{logs as zx,SeverityNumber as Ie}from"@opentelemetry/api-logs";import{OTLPLogExporter as dc}from"@opentelemetry/exporter-logs-otlp-proto";import{PrometheusExporter as Ux}from"@opentelemetry/exporter-prometheus";import{OTLPTraceExporter as nT}from"@opentelemetry/exporter-trace-otlp-proto";import{RuntimeNodeInstrumentation as iT}from"@opentelemetry/instrumentation-runtime-node";import{context as Oy,propagation as Sy,SpanKind as Hy,SpanStatusCode as Yy}from"@opentelemetry/api";var Iy=globalThis.fetch;import{ExportResultCode as ac}from"@opentelemetry/core";import{ExportResultCode as _t}from"@opentelemetry/core";import{mkdir as Cx,rename as Nx,writeFile as sx}from"fs/promises";import{join as mt}from"path";class xt{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((e)=>{console.error("[NDJSONExporter] Timer flush failed:",e)})},n),this.flushTimer&&typeof this.flushTimer==="object"&&"unref"in this.flushTimer)this.flushTimer.unref()}}exportRows(t){if(this.isShutdown)return Promise.resolve({code:_t.FAILED});for(let n of t){let e=JSON.stringify(n),u=this.partitionKey?this.partitionKey(n):"";this.bufferItems.push({partition:u,json:e}),this.bufferBytes+=Buffer.byteLength(e,"utf8")+1}if(this.bufferItems.length>=this.flushThreshold||this.bufferBytes>=this.maxBufferBytes)return this.flush().then(()=>({code:_t.SUCCESS})).catch((n)=>{return console.error("[NDJSONExporter] Flush failed:",n),{code:_t.FAILED}});return Promise.resolve({code:_t.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 a of t){let o=n.get(a.partition);if(!o)o=[],n.set(a.partition,o);o.push(a.json)}let e=await Promise.allSettled(Array.from(n.entries()).map(([a,o])=>this.writeNDJSON(o,a).then(()=>a))),u=e.find((a)=>a.status==="rejected");if(u){let a=new Set;for(let m of e)if(m.status==="fulfilled")a.add(m.value);let o=t.filter((m)=>!a.has(m.partition));this.bufferItems=o.concat(this.bufferItems),this.bufferBytes=0;for(let m of this.bufferItems)this.bufferBytes+=Buffer.byteLength(m.json,"utf8")+1;throw u.reason}}async writeNDJSON(t,n){let e=new Date,u=[String(e.getUTCFullYear()),String(e.getUTCMonth()+1).padStart(2,"0"),String(e.getUTCDate()).padStart(2,"0"),String(e.getUTCHours()).padStart(2,"0")],a=n?mt(this.basePath,n,...u):mt(this.basePath,...u);if(!this.knownDirs.has(a))await Cx(a,{recursive:!0,mode:448}),this.knownDirs.add(a);let o=`${crypto.randomUUID()}.ndjson`,m=mt(a,`.${o}.tmp`),_=mt(a,o),x=t.join(`
|
|
1010
|
+
`.execute(t)}async function tx(t){await L`DROP TRIGGER IF EXISTS trg_repo_github_child_single_parent ON connection_aggregations;`.execute(t),await L`DROP FUNCTION IF EXISTS enforce_repo_github_child_single_parent();`.execute(t),await L`DROP FUNCTION IF EXISTS try_parse_jsonb(text);`.execute(t)}var Se={};i(Se,{up:()=>nx,down:()=>ex});import{sql as Oe}from"kysely";async function nx(t){await t.schema.createTable("task_board_items").addColumn("id","text",(n)=>n.primaryKey().notNull()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(n)=>n.notNull()).addColumn("description","text").addColumn("status","text",(n)=>n.notNull().defaultTo("triage")).addColumn("priority","text",(n)=>n.notNull().defaultTo("medium")).addColumn("assignee_id","text").addColumn("created_by","text",(n)=>n.notNull()).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(Oe`now()`)).addColumn("updated_by","text",(n)=>n.notNull()).addColumn("updated_at","timestamptz",(n)=>n.notNull().defaultTo(Oe`now()`)).execute(),await t.schema.createIndex("idx_task_board_items_org").on("task_board_items").column("organization_id").execute(),await t.schema.alterTable("organization_settings").addColumn("task_board_enabled","boolean",(n)=>n.notNull().defaultTo(Oe`false`)).execute()}async function ex(t){await t.schema.alterTable("organization_settings").dropColumn("task_board_enabled").execute(),await t.schema.dropTable("task_board_items").execute()}var He={};i(He,{up:()=>ix,down:()=>ax});async function ix(t){await t.schema.alterTable("task_board_items").addColumn("due_date","timestamptz").execute()}async function ax(t){await t.schema.alterTable("task_board_items").dropColumn("due_date").execute()}var Ye={};i(Ye,{up:()=>ux,down:()=>ox});async function ux(t){await t.schema.alterTable("organization_settings").addColumn("reports_only","boolean").execute()}async function ox(t){await t.schema.alterTable("organization_settings").dropColumn("reports_only").execute()}var _x={"001-initial-schema":yt,"002-organization-settings":ct,"003-connection-schema-align":Tt,"004-remove-models-binding":pt,"005-connection-configuration":wt,"006-add-views-to-settings":ft,"007-monitoring-logs":Ct,"008-event-bus":Nt,"009-drop-audit-logs":st,"010-gateways":Et,"011-gateway-icon":ht,"012-gateway-tool-selection-mode":Kt,"013-monitoring-user-agent-gateway":kt,"014-gateway-resources-prompts":Pt,"015-monitoring-properties":zt,"016-downstream-token-client-info":Ut,"017-downstream-token-remove-userid":Dt,"018-drop-gateway-tool-selection-strategy":Lt,"019-remove-gateway-is-default":jt,"020-enabled-plugins":Jt,"021-threads":Rt,"022-rename-gateway-to-virtual-mcp":At,"023-optimize-thread-indexes":Wt,"024-consolidate-virtual-mcp":$t,"025-add-monitoring-virtual-mcp-id":gt,"026-restrict-child-connection-delete":Xt,"027-update-management-mcp-url":Qt,"028-update-management-mcp-to-self":Mt,"029-add-updated-by-to-connections":Ot,"030-member-tags":St,"031-add-dependency-mode":Ht,"032-projects":Yt,"033-thread-status":Bt,"034-monitoring-dashboards":It,"035-project-connections":Gt,"036-update-registry-url":vt,"037-ai-provider-keys":Vt,"038-oauth-pkce-states":qt,"039-automations":lt,"040-replace-next-run-at-with-last-run-at":dt,"041-ai-provider-keys-unique-constraint":bt,"042-rename-mesh-mcp-to-cms-mcp":tn,"043-rename-cms-mcp-to-deco-cms":nn,"044-drop-connections-tools-column":en,"045-thread-context-start-message":an,"046-remove-object-storage-plugin":on,"047-add-next-run-at":_n,"048-merge-projects-agents":xn,"049-remove-org-admin-projects":rn,"050-durable-agent-runs":yn,"051-org-sso":Tn,"052-thread-agent-ids":pn,"053-registry-config":wn,"054-connection-slug":Cn,"055-spaces":Nn,"056-automation-project-scope":sn,"057-thread-virtual-mcp-id":En,"058-trigger-callback-tokens":hn,"059-kv":Kn,"060-member-index":kn,"061-downstream-token-connection-index":Pn,"062-private-registry":zn,"063-event-subscriptions-enabled-boolean":Un,"064-brand-context":Dn,"065-organization-domains":Ln,"066-brand-context-structured":jn,"067-threads-metadata":Jn,"068-threads-branch":Rn,"069-sandbox-runner-state":An,"070-model-categories":Wn,"071-default-home-agents":$n,"072-ai-provider-key-preset-id":gn,"073-backfill-basic-usage-roles":Xn,"074-sandbox-runner-state-handle-nonunique":Fn,"075-thread-inflight-async-jobs":Qn,"076-automations-drop-agent-json":Zn,"077-tier-only-model-selection":On,"078-automation-tool-call-kind":Sn,"079-strip-legacy-freestyle-vm-map-entries":Hn,"080-async-research-jobs":Yn,"081-async-research-jobs-result-content":Bn,"082-secrets":In,"083-thread-run-locally":Gn,"084-drop-host-sandbox-rows":vn,"085-rename-runner-kind":Vn,"086-thread-pins-and-vm-map-rekey":qn,"087-fix-vm-map-rekey":ln,"088-purge-cli-activate-keys":dn,"089-rename-remote-user-to-desktop":bn,"090-automation-webhook-triggers":te,"091-organization-domains-allow-multi":ne,"092-sandbox-naming-uniformization":ee,"093-backfill-global-search-basic-usage":ie,"094-org-file-configs":ue,"095-remove-automation-tool-call-kind":oe,"096-org-file-configs-public-url-base":_e,"097-drop-local-docker-sandbox-state":xe,"098-thread-message-parts":re,"099-run-fence":ye,"100-link-transport":ce,"101-cancel-requested-at":Te,"102-observational-agent":pe,"103-revert-observational-agent":we,"104-agent-sandbox-provider-kind":Ce,"105-org-fs":Ne,"106-automation-tools":se,"107-org-fs-public-org":Ee,"108-automation-max-agent-steps":he,"109-thread-message-parts-per-message-seq":Ke,"110-backfill-ghs-token-expiry":ke,"111-org-fs-thread-id":Pe,"112-org-file-configs-credential-type":ze,"113-thread-failure-reason":Ue,"114-run-acked-seq":De,"115-thread-projected-seq":Le,"116-org-sites":je,"117-org-file-configs-site-slug":Je,"118-organization-domains-multi-verify":Re,"119-organization-join-requests":Ae,"120-org-fs-read-public":We,"121-org-fs-share-password":$e,"122-split-web-research-tier":Fe,"123-connection-credential-vault":Qe,"124-drop-thread-projected-seq":Ze,"125-github-child-single-parent":Me,"126-task-board":Se,"127-task-board-due-date":He,"128-reports-only":Ye},Be=_x;import{getMigrations as Zx}from"better-auth/db";import{sso as Mx}from"@better-auth/sso";import{organization as Ox}from"@decocms/better-auth/plugins";import{admin as Sx,apiKey as Hx,jwt as Yx,magicLink as Bx,mcp as Ix,openAPI as Gx}from"better-auth/plugins";import{emailOTP as vx}from"better-auth/plugins/email-otp";import{Kysely as Ax,PostgresDialect as $i}from"kysely";import{Pool as gi}from"pg";import{homedir as mx}from"os";var xx=new Set(["all","worker","api"]);function rx(t){let n=(t??"").trim();return xx.has(n)?n:"all"}function $(t){return t==="true"||t==="1"}function yx(t){if(t===void 0||t==="")return;return $(t)}function cx(t,n,e){if(n===void 0||n==="")return e;let u=Number(n);if(!Number.isSafeInteger(u)||u<=0)throw Error(`${t} must be a positive integer`);return u}function Tx(t,n){if(t===void 0||t==="")return n;return t==="true"||t==="1"}function Pi(t){if(!t)return null;try{let e=new URL(t).hostname;if(e==="localhost"||e==="127.0.0.1"||e==="::1")return null;return t}catch{return null}}var px=new Set(["agent-sandbox","user-desktop"]);function wx(t){let n=t&&t.length>0?t:"user-desktop";if(n==="cluster")return"agent-sandbox";if(!px.has(n))throw Error(`Unknown STUDIO_SANDBOX_PROVIDER="${t}" \u2014 expected "agent-sandbox", legacy "cluster", or "user-desktop".`);return n}function zi(t,n){let e=t.home||n.DATA_DIR||n.DECOCMS_HOME||`${mx()}/deco`,u=t.localMode,a=t.nodeEnv||n.NODE_ENV||"development",o=n.NATS_URL||"nats://localhost:4222",m=yx(n.NATS_TUNNEL_PUBLIC_ENABLED)??!!n.NATS_PUBLIC_URL;return{settings:{nodeEnv:a,port:Number(t.port)||Number(n.PORT)||3000,baseUrl:t.baseUrl||n.BASE_URL,dataDir:e,databasePgSsl:$(n.DATABASE_PG_SSL),databasePoolMax:Number(n.DATABASE_POOL_MAX)||5,betterAuthSecret:n.BETTER_AUTH_SECRET||"",encryptionKey:n.ENCRYPTION_KEY||"",meshJwtSecret:n.MESH_JWT_SECRET,localMode:u,disableRateLimit:$(n.DISABLE_RATE_LIMIT),studioProvisionSecretKey:n.STUDIO_PROVISION_SECRET_KEY,deploymentAdminEmails:(n.DEPLOYMENT_ADMIN_EMAILS??"").split(",").map((x)=>x.trim().toLowerCase()).filter(Boolean),clickhouseUrl:n.CLICKHOUSE_URL,clickhouseMaxMemoryUsage:Number(n.CLICKHOUSE_MAX_MEMORY_USAGE)||void 0,monitoringOtlpEndpoint:n.MONITORING_OTLP_ENDPOINT,otelServiceName:n.OTEL_SERVICE_NAME||"studio",natsPublicUrl:n.NATS_PUBLIC_URL,natsTunnelPublicEnabled:m,natsTunnelSessionTtlSeconds:cx("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:$(n.DECO_AI_GATEWAY_ENABLED),aiGatewayUrl:n.DECO_AI_GATEWAY_URL||"https://ai-site.deco.site",enableDecoImport:$(n.ENABLE_DECO_IMPORT),mcpCacheEnabled:Tx(n.MCP_CACHE_ENABLED,a!=="development"),orgFsPublicSetsJson:n.ORGFS_PUBLIC_SETS,orgFsMountsDisabled:$(n.DISABLE_ORGFS_MOUNTS),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:n.S3_FORCE_PATH_STYLE===void 0||n.S3_FORCE_PATH_STYLE===""||n.S3_FORCE_PATH_STYLE==="true"||n.S3_FORCE_PATH_STYLE==="1",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:rx(n.MESH_DISPATCH_ROLE),sandboxProviderKind:wx(n.STUDIO_SANDBOX_PROVIDER),decoSupabaseUrl:n.DECO_SUPABASE_URL,decoSupabaseServiceKey:n.DECO_SUPABASE_SERVICE_KEY,firecrawlApiKey:n.FIRECRAWL_API_KEY,commerceDiscoveryInternalApiUrl:n.COMMERCE_DISCOVERY_INTERNAL_API_URL,commerceDiscoveryInternalApiKey: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:Pi(n.DATABASE_URL),externalNatsUrl:Pi(o),skipMigrations:t.skipMigrations}}var ot=null;function g(){if(!ot)fx();return ot}function fx(){if(ot)return;let t={...process.env},n=zi({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);ot=Object.freeze({...n.settings,databaseUrl:t.DATABASE_URL??"postgresql://postgres:postgres@localhost:5432/postgres",natsUrls:(t.NATS_URL||"nats://localhost:4222").split(",").map((e)=>e.trim()).filter(Boolean)})}import{createContextKey as Kx,metrics as kx,propagation as Gc,ROOT_CONTEXT as vc,SpanStatusCode as Vc,trace as Px}from"@opentelemetry/api";import{logs as zx,SeverityNumber as Ie}from"@opentelemetry/api-logs";import{OTLPLogExporter as dc}from"@opentelemetry/exporter-logs-otlp-proto";import{PrometheusExporter as Ux}from"@opentelemetry/exporter-prometheus";import{OTLPTraceExporter as nT}from"@opentelemetry/exporter-trace-otlp-proto";import{RuntimeNodeInstrumentation as iT}from"@opentelemetry/instrumentation-runtime-node";import{context as Oy,propagation as Sy,SpanKind as Hy,SpanStatusCode as Yy}from"@opentelemetry/api";var Iy=globalThis.fetch;import{ExportResultCode as ac}from"@opentelemetry/core";import{ExportResultCode as _t}from"@opentelemetry/core";import{mkdir as Cx,rename as Nx,writeFile as sx}from"fs/promises";import{join as mt}from"path";class xt{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((e)=>{console.error("[NDJSONExporter] Timer flush failed:",e)})},n),this.flushTimer&&typeof this.flushTimer==="object"&&"unref"in this.flushTimer)this.flushTimer.unref()}}exportRows(t){if(this.isShutdown)return Promise.resolve({code:_t.FAILED});for(let n of t){let e=JSON.stringify(n),u=this.partitionKey?this.partitionKey(n):"";this.bufferItems.push({partition:u,json:e}),this.bufferBytes+=Buffer.byteLength(e,"utf8")+1}if(this.bufferItems.length>=this.flushThreshold||this.bufferBytes>=this.maxBufferBytes)return this.flush().then(()=>({code:_t.SUCCESS})).catch((n)=>{return console.error("[NDJSONExporter] Flush failed:",n),{code:_t.FAILED}});return Promise.resolve({code:_t.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 a of t){let o=n.get(a.partition);if(!o)o=[],n.set(a.partition,o);o.push(a.json)}let e=await Promise.allSettled(Array.from(n.entries()).map(([a,o])=>this.writeNDJSON(o,a).then(()=>a))),u=e.find((a)=>a.status==="rejected");if(u){let a=new Set;for(let m of e)if(m.status==="fulfilled")a.add(m.value);let o=t.filter((m)=>!a.has(m.partition));this.bufferItems=o.concat(this.bufferItems),this.bufferBytes=0;for(let m of this.bufferItems)this.bufferBytes+=Buffer.byteLength(m.json,"utf8")+1;throw u.reason}}async writeNDJSON(t,n){let e=new Date,u=[String(e.getUTCFullYear()),String(e.getUTCMonth()+1).padStart(2,"0"),String(e.getUTCDate()).padStart(2,"0"),String(e.getUTCHours()).padStart(2,"0")],a=n?mt(this.basePath,n,...u):mt(this.basePath,...u);if(!this.knownDirs.has(a))await Cx(a,{recursive:!0,mode:448}),this.knownDirs.add(a);let o=`${crypto.randomUUID()}.ndjson`,m=mt(a,`.${o}.tmp`),_=mt(a,o),x=t.join(`
|
|
1011
1011
|
`)+`
|
|
1012
1012
|
`;await sx(m,x,{mode:384}),await Nx(m,_)}}import{ExportResultCode as xc}from"@opentelemetry/core";import{AggregationTemporality as yc,DataPointType as cc}from"@opentelemetry/sdk-metrics";import{ExportResultCode as Nc}from"@opentelemetry/core";var Kc=Buffer.byteLength("... [TRUNCATED]","utf8");import{BatchLogRecordProcessor as cT,LoggerProvider as TT}from"@opentelemetry/sdk-logs";import{detectResources as wT,envDetector as fT,hostDetector as CT,osDetector as NT,processDetector as sT,resourceFromAttributes as ET}from"@opentelemetry/resources";import{PeriodicExportingMetricReader as KT}from"@opentelemetry/sdk-metrics";import{NOOP_LOGGER as zc}from"@opentelemetry/api-logs";import{NodeSDK as zT}from"@opentelemetry/sdk-node";import{BatchSpanProcessor as DT,SamplingDecision as X}from"@opentelemetry/sdk-trace-base";import{SpanStatusCode as Jc}from"@opentelemetry/api";var Dx="__d",Lx=Kx("Current request"),jx=1;var Di=(t)=>{let e=new URL(t.url).searchParams.get(Dx);if(e==="")return crypto.randomUUID();if(!e)e=t.headers.get("x-trace-debug-id");return e};class Li{inner;constructor(t){this.inner=t}shouldSample(t,n,e,u,a,o){let m=t.getValue(Lx);if(!m){if(this.inner)return this.inner.shouldSample(t,n,e,u,a,o);return{decision:X.RECORD_AND_SAMPLED}}let _=Di(m);if(_)return{decision:X.RECORD_AND_SAMPLED,attributes:{"trace.debug.id":_}};if(this.inner){let x=this.inner.shouldSample(t,n,e,u,a,o);if(x.decision===X.RECORD_AND_SAMPLED){let r=crypto.randomUUID();x.attributes={...x.attributes??{},"trace.debug.id":r}}return x}return{decision:X.NOT_RECORD}}toString(){return"DebugSampler"}}class ji{ratio;constructor(t){this.ratio=t}shouldSample(){if(Math.random()<this.ratio)return{decision:X.RECORD_AND_SAMPLED};return{decision:X.NOT_RECORD}}toString(){return`RatioSampler(${this.ratio})`}}var jT=new Ux({preventServerStart:!0}),JT=new Li(new ji(jx));var Ui=Px.getTracer("studio","1.0.0"),B=kx.getMeter("studio","1.0.0"),Jx=zx.getLogger("studio","1.0.0"),Ge=(t,n,e)=>{let u={},a=e,o=e[e.length-1];if(o!==null&&typeof o==="object"&&!Array.isArray(o)&&!(o instanceof Error)&&Object.getPrototypeOf(o)===Object.prototype)u=o,a=e.slice(0,-1);let m=a.map((_)=>{if(_ instanceof Error)return`${_.name}: ${_.message}`;if(typeof _==="object")try{return JSON.stringify(_)}catch{return"[Object]"}return String(_)}).join(" ");Jx.emit({severityNumber:t,severityText:n,body:m,attributes:{"log.source":"console",...u}})},ve={error:console.error.bind(console),warn:console.warn.bind(console),debug:console.debug.bind(console)};console.error=(...t)=>{Ge(Ie.ERROR,"ERROR",t),ve.error(...t)};console.warn=(...t)=>{Ge(Ie.WARN,"WARN",t),ve.warn(...t)};console.debug=(...t)=>{Ge(Ie.DEBUG,"DEBUG",t),ve.debug(...t)};var Ve,Ji=0,qe=500;function Rx(){if(Ve)return;let t=performance.now()+qe;Ve=setInterval(()=>{let n=performance.now();Ji=Math.max(0,n-t),t=n+qe},qe),Ve.unref?.()}function Ri(){return Rx(),Ji}var Wx=()=>B.createHistogram("db.query.duration",{description:"Database query execution duration in milliseconds",unit:"ms"}),Ai=()=>B.createHistogram("db.pool.acquire.duration",{description:"Time spent waiting to acquire a connection from the pool",unit:"ms"}),Wi=400,$x=100,gx=(t)=>(n)=>{let e={"db.statement":n.query.sql,"db.status":n.level==="error"?"error":"success"};if(n.queryDurationMillis>Wi){let u=Ri(),a=u>Wi/2;console.error(a?"Slow query measurement \u2014 likely event-loop lag, not slow SQL:":"Slow query detected:",{durationMs:n.queryDurationMillis,eventLoopLagMs:Math.round(u),sql:n.query.sql,pool:{total:t.totalCount,idle:t.idleCount,waiting:t.waitingCount,max:rt()}})}if(Wx().record(n.queryDurationMillis,e),n.level==="error")console.error("Query failed:",{durationMs:n.queryDurationMillis,error:n.error,sql:n.query.sql})};function Xx(t){let n=t.connect.bind(t);return t.connect=(e)=>{if(typeof e==="function")return n(e);let u=performance.now(),a=rt(),o=t.idleCount===0&&t.totalCount>=a,m=t.idleCount;return n().then((_)=>{let x=performance.now()-u;if(Ai().record(x,{"db.pool.outcome":o?"contended":"available"}),x>$x)if(o)console.error("Slow db pool acquire \u2014 pool saturated:",{waitMs:x,total:t.totalCount,idle:t.idleCount,waiting:t.waitingCount,max:a});else console.warn("Slow db pool acquire \u2014 event-loop lag (not pool):",{waitMs:x,idleAtStart:m,total:t.totalCount,max:a});return _},(_)=>{throw Ai().record(performance.now()-u,{"db.pool.outcome":"error"}),_})},t}var Xi={keepAlive:!0,keepAliveInitialDelayMillis:1e4,idleTimeoutMillis:300000,connectionTimeoutMillis:30000,allowExitOnIdle:!0};function Fi(){try{return g().databasePgSsl}catch{return!1}}function rt(){try{return g().databasePoolMax}catch{return 10}}function Fx(t){let n=Xx(new gi({connectionString:t,max:rt(),ssl:Fi(),...Xi})),e=new $i({pool:n});return{type:"postgres",db:new Ax({dialect:e,log:gx(n)}),pool:n}}function G(){return g().databaseUrl}function Qi(t){let n=t||G();return new $i({pool:new gi({connectionString:n,max:rt(),ssl:Fi(),...Xi})})}function Qx(t){let n=t||G();return Fx(n)}async function Zi(t){if(await t.db.destroy(),!t.pool.ended)await t.pool.end();if(t===I)I=null}var I=null;function le(){if(!I)I=Qx(G());return I}async function Mi(t){let e={database:Qi(t||G()),plugins:[Ox({dynamicAccessControl:{enabled:!0,enableCustomResources:!0}}),Sx(),Hx(),Yx(),Gx(),Ix({loginPage:"/login"}),Mx(),Bx({sendMagicLink:async()=>{}}),vx({sendVerificationOTP:async()=>{}})]},{toBeAdded:u,toBeCreated:a,runMigrations:o}=await Zx(e);if(!u.length&&!a.length)return"up to date";return await o(),`${a.length+u.length} table(s) migrated`}async function Si(t,n){return(await F`
|
|
1013
1013
|
SELECT table_name FROM information_schema.tables
|