decocms 4.109.3 → 4.109.5
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-DDL3NVPO.js → AlertCircle-D23aK_o9.js} +1 -1
- package/dist/client/assets/{AreaChart-D_vYpO5B.js → AreaChart-CkOK4g_8.js} +1 -1
- package/dist/client/assets/{ArrowRight-C8qzpt4V.js → ArrowRight-C4ttad-u.js} +1 -1
- package/dist/client/assets/{ArrowUp-DG1nyEY7.js → ArrowUp-CFl1yErU.js} +1 -1
- package/dist/client/assets/{ArrowUpRight-BOMcfFea.js → ArrowUpRight-wPshf_34.js} +1 -1
- package/dist/client/assets/{Check-B96sYg8D.js → Check-ynEtJj9m.js} +1 -1
- package/dist/client/assets/{CheckCircle-CWfzmXtL.js → CheckCircle-CTOgBLDu.js} +1 -1
- package/dist/client/assets/{ChevronDown-D7kDUQ-w.js → ChevronDown-pbBU0Shy.js} +1 -1
- package/dist/client/assets/{ChevronRight-M9HJxg_d.js → ChevronRight-D0s1mA_V.js} +1 -1
- package/dist/client/assets/{ChevronUp-B79UExuT.js → ChevronUp-DdCJXy_v.js} +1 -1
- package/dist/client/assets/{Copy01-BKEKlOME.js → Copy01-DkQzqBEq.js} +1 -1
- package/dist/client/assets/{DotsVertical-Bl65meqX.js → DotsVertical-CiuhlTCV.js} +1 -1
- package/dist/client/assets/{Eye-CXDRPSpy.js → Eye-D0eqoJlu.js} +1 -1
- package/dist/client/assets/{FilterLines-ChBJlxMY.js → FilterLines-Cj7LcpLj.js} +1 -1
- package/dist/client/assets/{Globe01-DREghmW3.js → Globe01-CitdvMXL.js} +1 -1
- package/dist/client/assets/{Globe04-CVh9gYr3.js → Globe04-B6zdOi-a.js} +1 -1
- package/dist/client/assets/{HardDrive-DrEs2fTV.js → HardDrive-DlyGesyJ.js} +1 -1
- package/dist/client/assets/{Image01-D0mn0guI.js → Image01-NRfa-rem.js} +1 -1
- package/dist/client/assets/{Key01-N1bb_wXg.js → Key01-BYBaMv3G.js} +1 -1
- package/dist/client/assets/{LayoutLeft-DnYSDxfk.js → LayoutLeft-KrJESBWI.js} +1 -1
- package/dist/client/assets/{LinkExternal01-BdbDwr5T.js → LinkExternal01-CcHu-WM1.js} +1 -1
- package/dist/client/assets/{Monitor01-C4drWCzH.js → Monitor01-CARbbX9E.js} +1 -1
- package/dist/client/assets/{Package-wqfs8y5Q.js → Package-BkqOkuAo.js} +1 -1
- package/dist/client/assets/{Palette-BW8MFN0H.js → Palette-C-zdJfIq.js} +1 -1
- package/dist/client/assets/{Play-BT8-ZstT.js → Play-B43WaOQ_.js} +1 -1
- package/dist/client/assets/{Plus-DxZX5hgx.js → Plus-BIzQ_CjE.js} +1 -1
- package/dist/client/assets/{SearchLg-BLe8QxgA.js → SearchLg-BYMCgdgc.js} +1 -1
- package/dist/client/assets/{SearchMd-Tbd4wdzB.js → SearchMd-CGZtkluJ.js} +1 -1
- package/dist/client/assets/{Settings02-BYQlISR6.js → Settings02-4GxiKD28.js} +1 -1
- package/dist/client/assets/{Shield01-BeHIb0io.js → Shield01-DeUcxXuV.js} +1 -1
- package/dist/client/assets/{Star01-C7l3m89b.js → Star01-B_7JaHOW.js} +1 -1
- package/dist/client/assets/{Stars01-CR5DA5Rw.js → Stars01-BvAH_wj_.js} +1 -1
- package/dist/client/assets/{Stars02-BjsqOaKx.js → Stars02-DcKBWHes.js} +1 -1
- package/dist/client/assets/{Sun-7hGgve-e.js → Sun-CH-Wea58.js} +1 -1
- package/dist/client/assets/{SwitchHorizontal01-CHRoatow.js → SwitchHorizontal01-Clu53v3K.js} +1 -1
- package/dist/client/assets/{Tool01-Dgv9dOlf.js → Tool01-CgiCp-if.js} +1 -1
- package/dist/client/assets/{Tool02-CJjEpPxy.js → Tool02-Dm5zhkJ8.js} +1 -1
- package/dist/client/assets/{Trash01-Bs2zTENe.js → Trash01-ByHfhgBz.js} +1 -1
- package/dist/client/assets/{TrendUp01-Bx2DBhtJ.js → TrendUp01-ponCj1fO.js} +1 -1
- package/dist/client/assets/{Upload01-CnC31hL4.js → Upload01-oualqLb-.js} +1 -1
- package/dist/client/assets/{User01-C8KWbatv.js → User01-BXiASKeL.js} +1 -1
- package/dist/client/assets/{Users01-Dtlia5Jc.js → Users01-NwjzSDDs.js} +1 -1
- package/dist/client/assets/{Users03-DGynw4U3.js → Users03-Ds-1J9tN.js} +1 -1
- package/dist/client/assets/{X-Bm_IEr3C.js → X-Mhr8siff.js} +1 -1
- package/dist/client/assets/{XCircle-DtzF1Dm8.js → XCircle-B7ho9DDc.js} +1 -1
- package/dist/client/assets/{XClose-qqcAo92x.js → XClose-6qZofEoB.js} +1 -1
- package/dist/client/assets/{Zap-COTEDvhG.js → Zap-ByFRx0St.js} +1 -1
- package/dist/client/assets/{ZapSquare-Cs773Qxa.js → ZapSquare-I9w4y8vt.js} +1 -1
- package/dist/client/assets/{ZoomOut-ByEMMf2r.js → ZoomOut-CjoMk9mb.js} +1 -1
- package/dist/client/assets/{access-gate-aN47Q505.js → access-gate-CDBASaek.js} +1 -1
- package/dist/client/assets/{add-section-modal-BbxeO9h5.js → add-section-modal-B3RthNfn.js} +1 -1
- package/dist/client/assets/{agent-icon-CEQ_QC5O.js → agent-icon-Ci7NFKJJ.js} +1 -1
- package/dist/client/assets/{agents-list-CgHPFeV4.js → agents-list-KHjz0C8I.js} +1 -1
- package/dist/client/assets/{ai-providers-BfQ2EOtv.js → ai-providers-EOWyY3jk.js} +1 -1
- package/dist/client/assets/{alert-DkK7YjA4.js → alert-DMBKXwJa.js} +1 -1
- package/dist/client/assets/{alert-dialog-CWCtkbte.js → alert-dialog-DraHoecM.js} +1 -1
- package/dist/client/assets/{app-editor-CuqGhr-0.js → app-editor-DCxYQZjU.js} +1 -1
- package/dist/client/assets/{auth-Bq5LSr3F.js → auth-Dqscg8gd.js} +1 -1
- package/dist/client/assets/{auth-catchall-BfEhjtXs.js → auth-catchall-BImfURGz.js} +1 -1
- package/dist/client/assets/{auth-entry-CwlDeCQU.js → auth-entry-C21SiWwr.js} +1 -1
- package/dist/client/assets/{auth-split-layout-6ZTtoo27.js → auth-split-layout-CIJC6HdG.js} +1 -1
- package/dist/client/assets/{authenticate-and-persist-oauth-DJ3oPCjy.js → authenticate-and-persist-oauth-C1FN6eqF.js} +1 -1
- package/dist/client/assets/{automation-list-row-B5nvhIdQ.js → automation-list-row-C8zV7kdI.js} +1 -1
- package/dist/client/assets/{automation-runs-CnQaPWAa.js → automation-runs-DrHHZue0.js} +1 -1
- package/dist/client/assets/{automations-CQzmWtqM.js → automations-6C8cuYeW.js} +1 -1
- package/dist/client/assets/{autosend-Jr_km6tj.js → autosend-CAeCgB4X.js} +1 -1
- package/dist/client/assets/{avatar-DOEAByFe.js → avatar-4aDjI6Nh.js} +1 -1
- package/dist/client/assets/{badge-CE4mxHuh.js → badge-B7pf8A4L.js} +1 -1
- package/dist/client/assets/{block-document-8l5Oz3LH.js → block-document-Cc8Vl3wR.js} +1 -1
- package/dist/client/assets/{brand-context-DdmSWOcO.js → brand-context-C4Wrco4q.js} +1 -1
- package/dist/client/assets/{buckets-Ck4EyF3B.js → buckets-CqKqBNDO.js} +1 -1
- package/dist/client/assets/{bulk-category-panel-DnFoznF-.js → bulk-category-panel-VKk8FyL0.js} +1 -1
- package/dist/client/assets/{calendar-BEgxn1xf.js → calendar-C6_oG0cw.js} +1 -1
- package/dist/client/assets/{capability-load-error-D2gkQnYG.js → capability-load-error-CFplM0ex.js} +1 -1
- package/dist/client/assets/{card-bwqCmKiZ.js → card-OwXZhwC1.js} +1 -1
- package/dist/client/assets/{category-editor-BOTraiRe.js → category-editor-DSx_sZOt.js} +1 -1
- package/dist/client/assets/{chat-context-DYzq4uzd.js → chat-context-Blx6boz0.js} +1 -1
- package/dist/client/assets/{checkbox-ElUGsnCR.js → checkbox-Dp2XHceF.js} +1 -1
- package/dist/client/assets/{cli-auth-success-BkQ6Hzjr.js → cli-auth-success-D6Vxm-_7.js} +1 -1
- package/dist/client/assets/{collection-detail-U4hECmnd.js → collection-detail-DHX4Zj_f.js} +1 -1
- package/dist/client/assets/{collection-display-button-CqzbnR8c.js → collection-display-button-CZTpPpNi.js} +1 -1
- package/dist/client/assets/{collection-search-tt1dDhGw.js → collection-search-CAX6JS6u.js} +1 -1
- package/dist/client/assets/{collection-table-wrapper-CQ5r3O0u.js → collection-table-wrapper-BDJYNIbd.js} +1 -1
- package/dist/client/assets/{collection-tabs-CJM_SYVI.js → collection-tabs-BH6Fm9jM.js} +1 -1
- package/dist/client/assets/{command-Ci6DUbGJ.js → command-0LWLxLxu.js} +1 -1
- package/dist/client/assets/{commerce-onboarding-tdzO6RRz.js → commerce-onboarding-7-xicmun.js} +1 -1
- package/dist/client/assets/{companions-core-iy6Ehz_k.js → companions-core-Dso0bsHV.js} +1 -1
- package/dist/client/assets/{connect-DWRhDJLK.js → connect-BaahLrOC.js} +1 -1
- package/dist/client/assets/{connect-desktop-dialog-B7-Ds-MY.js → connect-desktop-dialog-DI72MOWV.js} +1 -1
- package/dist/client/assets/{connection-card-BW6t90Oz.js → connection-card-Cden9LEC.js} +1 -1
- package/dist/client/assets/{connection-detail-BnkANiYs.js → connection-detail-qHJ1dl6m.js} +1 -1
- package/dist/client/assets/{connection-form-helpers-AQ5JjVci.js → connection-form-helpers-C9SH5LHq.js} +1 -1
- package/dist/client/assets/{connections-4IsfWP2L.js → connections-DH1Ss5yR.js} +1 -1
- package/dist/client/assets/{decopilot-sse-pool-C4rcDZwu.js → decopilot-sse-pool-DDp0nw3i.js} +1 -1
- package/dist/client/assets/{dialog-B8ZDYZPL.js → dialog-Bsq1aL4u.js} +1 -1
- package/dist/client/assets/{domain-settings-mhM57p0y.js → domain-settings-CcJ4LUwx.js} +1 -1
- package/dist/client/assets/{drawer-Dt6qCisL.js → drawer-BZQAjcdN.js} +1 -1
- package/dist/client/assets/{dropdown-menu-C4WgwVRK.js → dropdown-menu-DRjJOVbn.js} +1 -1
- package/dist/client/assets/{empty-state-CovT8JKv.js → empty-state-BL411mmm.js} +1 -1
- package/dist/client/assets/{extract-connection-data-BiyUFsTs.js → extract-connection-data-4B31brDC.js} +1 -1
- package/dist/client/assets/{file-explorer-B_YCly1x.js → file-explorer-Bok-CM28.js} +1 -1
- package/dist/client/assets/{file-type-icon-DO6Eky2j.js → file-type-icon-DwFgm8UD.js} +1 -1
- package/dist/client/assets/{files-SZtY1d6f.js → files-SjHJRw5P.js} +1 -1
- package/dist/client/assets/{form-CtPuLTzo.js → form-CBaNZW78.js} +1 -1
- package/dist/client/assets/{general-BohKR24U.js → general-xxPGZrdm.js} +1 -1
- package/dist/client/assets/{github-repo-picker-BZgNSbrO.js → github-repo-picker-BL8k2X1E.js} +1 -1
- package/dist/client/assets/{hooks-C-DDrQdw.js → hooks-B4PBQEtw.js} +1 -1
- package/dist/client/assets/{index-B00O5mcQ.js → index-BQKmuJ4J.js} +1 -1
- package/dist/client/assets/{index-D6afwfAJ.js → index-BfEKG8-l.js} +1 -1
- package/dist/client/assets/{index-DETEI0UZ.js → index-Blm2adUT.js} +1 -1
- package/dist/client/assets/{index-BaZNckBD.js → index-CF1uOkfF.js} +1 -1
- package/dist/client/assets/{index-DvWyzu7C.js → index-CHZmZNLg.js} +6 -6
- package/dist/client/assets/{index-0MHOODlx.js → index-CN0DS1Pg.js} +1 -1
- package/dist/client/assets/{index-Cd8-L_OZ.js → index-CRYcplRN.js} +3 -3
- package/dist/client/assets/{index-DfTu3lZz.js → index-D07sL37z.js} +1 -1
- package/dist/client/assets/{index-C0ehMhcP.js → index-DLtcWttf.js} +1 -1
- package/dist/client/assets/{index-Blgk7D0z.js → index-DPIG3zHV.js} +1 -1
- package/dist/client/assets/{index-CETaB8TK.js → index-DcCcmFfL.js} +1 -1
- package/dist/client/assets/{index-B_wll2SK.js → index-bGSR2bzV.js} +6 -6
- package/dist/client/assets/{index-mRXHXrNS.js → index-pKcXTsZ8.js} +1 -1
- package/dist/client/assets/{index-redirect-CqkdeEVs.js → index-redirect-CXjtLUWH.js} +1 -1
- package/dist/client/assets/{input-eU1QDNua.js → input-CGuzItTd.js} +1 -1
- package/dist/client/assets/{integration-icon-DSLAy0JH.js → integration-icon-BbxC0wPo.js} +1 -1
- package/dist/client/assets/{invite-member-dialog-cJkfAdIo.js → invite-member-dialog-CQcorYa0.js} +1 -1
- package/dist/client/assets/{label-DWRg-jZW.js → label-oIa-VW7l.js} +1 -1
- package/dist/client/assets/{layout-CYVoYZ9Y.js → layout-CB0ACzNc.js} +1 -1
- package/dist/client/assets/{login-Czpd0vjB.js → login-JCxx_Htk.js} +1 -1
- package/dist/client/assets/{mcp-oauth-B9Bzk0GA.js → mcp-oauth-DNiCy6XA.js} +1 -1
- package/dist/client/assets/{members-CbxfmHTi.js → members-uXJaIaHN.js} +1 -1
- package/dist/client/assets/{monaco-editor-D6HiW9U6.js → monaco-editor-DMYXh8db.js} +1 -1
- package/dist/client/assets/{monitoring-stats-row-CNPIcmvF.js → monitoring-stats-row-D0Rk1Be5.js} +1 -1
- package/dist/client/assets/{multi-select-CK_MJs_5.js → multi-select-CoarUeIf.js} +1 -1
- package/dist/client/assets/{oauth-callback-C8T6RLGv.js → oauth-callback-DKxwuf-a.js} +1 -1
- package/dist/client/assets/{oauth-callback-ai-provider-DuEgVl7e.js → oauth-callback-ai-provider-uEg3hTW7.js} +1 -1
- package/dist/client/assets/{onboarding-DmV-5vZ4.js → onboarding-CBwkZlCr.js} +1 -1
- package/dist/client/assets/{org-install-Lj1PJ2tn.js → org-install-BZjJAmjQ.js} +1 -1
- package/dist/client/assets/{org-layout-CPe95C2L.js → org-layout-BCYd2w1F.js} +1 -1
- package/dist/client/assets/{organization-choice-D_2tf-k2.js → organization-choice-BBV_k5sI.js} +1 -1
- package/dist/client/assets/{orgs-BQIyrRDn.js → orgs-oRRupSMX.js} +1 -1
- package/dist/client/assets/{page-seo-form-C9O_HWDG.js → page-seo-form-Onm5heKk.js} +1 -1
- package/dist/client/assets/page-seo-sheet-BRemRj6c.js +1 -0
- package/dist/client/assets/{popover-B59smn8Q.js → popover-DLSYIagK.js} +1 -1
- package/dist/client/assets/{post-editor-BPf0Uj1P.js → post-editor-kCJtDhPE.js} +1 -1
- package/dist/client/assets/{primitives-LKvG3Ddw.js → primitives-DwWHhHqB.js} +1 -1
- package/dist/client/assets/{profile-DePWzA3w.js → profile-BzsBsMLf.js} +1 -1
- package/dist/client/assets/project-app-view-zRb_qox5.js +1 -0
- package/dist/client/assets/record-editor-DkuVgSOq.js +1 -0
- package/dist/client/assets/redirect-editor-BlunFUIy.js +1 -0
- package/dist/client/assets/registry-CdVvmr6B.js +2 -0
- package/dist/client/assets/{registry-layout-jZikjKmW.js → registry-layout-SY1g28BE.js} +1 -1
- package/dist/client/assets/{reports-DASl6M2b.js → reports-uk15LBu7.js} +1 -1
- package/dist/client/assets/{require-capability-CEP3AXmh.js → require-capability-DrDcDgf5.js} +1 -1
- package/dist/client/assets/{required-auth-layout-DcbI1I0m.js → required-auth-layout-D5q4kkgW.js} +1 -1
- package/dist/client/assets/{reset-password-N3UpUdBC.js → reset-password-DVyHxbbR.js} +1 -1
- package/dist/client/assets/{roles-D2jEGgxB.js → roles-BtSR7cZG.js} +1 -1
- package/dist/client/assets/{search-input-iIHN_ALM.js → search-input-wUp_1iAG.js} +1 -1
- package/dist/client/assets/{secrets-BCD0KOA7.js → secrets-DT1I5NU6.js} +1 -1
- package/dist/client/assets/{sections-editor-C-Cuh8qn.js → sections-editor-BiyJuYo7.js} +1 -1
- package/dist/client/assets/{select-2o2UNb6Z.js → select-BuuOU6pL.js} +1 -1
- package/dist/client/assets/{select-model-BbAXKzJu.js → select-model-C9Nu9dp_.js} +1 -1
- package/dist/client/assets/{self-tool-result-BzBmt1pU.js → self-tool-result-6P0u9v47.js} +1 -1
- package/dist/client/assets/{seo-editor-C313Io-m.js → seo-editor-ByaJxhOt.js} +1 -1
- package/dist/client/assets/{settings-layout-ClHR7W6r.js → settings-layout-Cat1gH99.js} +1 -1
- package/dist/client/assets/{settings-section-BRvqVlhC.js → settings-section-B3GFaVK9.js} +1 -1
- package/dist/client/assets/{shell-controls-D0tQp8zT.js → shell-controls-BA-0ZDw1.js} +1 -1
- package/dist/client/assets/{shell-layout-DjTzCceb.js → shell-layout-CwiZRm8s.js} +1 -1
- package/dist/client/assets/{sidebar-D1kCYKFT.js → sidebar-zP7WHqH-.js} +1 -1
- package/dist/client/assets/{skeleton-CXlq9N38.js → skeleton-CxR8n7NL.js} +1 -1
- package/dist/client/assets/{sso-D4VysJXc.js → sso-W6tsmixT.js} +1 -1
- package/dist/client/assets/{store-BcFUKbxJ.js → store-CqhqzD6J.js} +1 -1
- package/dist/client/assets/store-registry-BcIH6d3c.js +2 -0
- package/dist/client/assets/{studio-tools-DToB7pwS.js → studio-tools-By_gjHJ3.js} +1 -1
- package/dist/client/assets/{switch-NrP08SlR.js → switch-C6AD72Vo.js} +1 -1
- package/dist/client/assets/{table-DGspea83.js → table-DxcFHBTS.js} +1 -1
- package/dist/client/assets/{tabs-CE-JieqA.js → tabs-huSLDH4q.js} +1 -1
- package/dist/client/assets/{textarea-BE-ak0sp.js → textarea-Brj8JX0f.js} +1 -1
- package/dist/client/assets/{toggle-group-CkKW947g.js → toggle-group-CJe4ZreF.js} +1 -1
- package/dist/client/assets/{toolbar-DdiiZ1x2.js → toolbar-D0OPifZu.js} +1 -1
- package/dist/client/assets/{toolbar-icon-button-u6l2Vxe5.js → toolbar-icon-button-DvwtekMG.js} +1 -1
- package/dist/client/assets/{tooltip-gzVV0CJq.js → tooltip-nrD3HOxX.js} +1 -1
- package/dist/client/assets/{use-ai-providers-CyS-eWO5.js → use-ai-providers-D_jz1ylU.js} +1 -1
- package/dist/client/assets/{use-api-keys-D018RYW8.js → use-api-keys-C3d-qXAt.js} +1 -1
- package/dist/client/assets/{use-automations-ChwAUq-c.js → use-automations-BCD7criG.js} +1 -1
- package/dist/client/assets/{use-autosave-C9G_eEXT.js → use-autosave-CbgvfzCW.js} +1 -1
- package/dist/client/assets/{use-capability-DDoctoiw.js → use-capability-CYWqY41T.js} +1 -1
- package/dist/client/assets/{use-clock-tick-D55VxqGw.js → use-clock-tick-D8jWfWjT.js} +1 -1
- package/dist/client/assets/{use-connection-89uYlFBi.js → use-connection-DDCNdTak.js} +1 -1
- package/dist/client/assets/{use-copy-CLnym1hl.js → use-copy-BlmY2Ixn.js} +1 -1
- package/dist/client/assets/{use-create-virtual-mcp-BPPzjq7Y.js → use-create-virtual-mcp-CKV_t4aD.js} +1 -1
- package/dist/client/assets/{use-debounced-autosave-D86Wce45.js → use-debounced-autosave-B__kLx-e.js} +1 -1
- package/dist/client/assets/{use-debounced-value-DKxCeZJu.js → use-debounced-value-BnR8AiH6.js} +1 -1
- package/dist/client/assets/{use-deco-credits-DI1RCYqy.js → use-deco-credits-Dzt7CJE9.js} +1 -1
- package/dist/client/assets/{use-decopilot-events-BhjNpsC3.js → use-decopilot-events-DGqMSXk8.js} +1 -1
- package/dist/client/assets/{use-delete-connection-dqhV7ruP.js → use-delete-connection-BGdcgRSM.js} +1 -1
- package/dist/client/assets/{use-deployment-admin-DcRHkp_3.js → use-deployment-admin-CZR8SLJ5.js} +1 -1
- package/dist/client/assets/{use-file-configs-DJXs4_h1.js → use-file-configs-D0jTDd49.js} +1 -1
- package/dist/client/assets/{use-infinite-scroll-B50gQCSt.js → use-infinite-scroll-DhmykweU.js} +1 -1
- package/dist/client/assets/{use-join-requests-CUf-NroD.js → use-join-requests-CecesqVN.js} +1 -1
- package/dist/client/assets/{use-mcp-auth-status-D1iwMiE2.js → use-mcp-auth-status-oRlmMoRI.js} +1 -1
- package/dist/client/assets/{use-mcp-client-oqnLbCea.js → use-mcp-client-7qngoqwD.js} +1 -1
- package/dist/client/assets/{use-mcp-tools-DXrHQpot.js → use-mcp-tools-ycgeDwh-.js} +1 -1
- package/dist/client/assets/{use-members-MYUvbvzT.js → use-members-trWk94Rh.js} +1 -1
- package/dist/client/assets/{use-mobile-DvCskdmr.js → use-mobile-CAnf5FlX.js} +1 -1
- package/dist/client/assets/{use-navigate-to-agent-DeRKWFnN.js → use-navigate-to-agent-DgxNxtx4.js} +1 -1
- package/dist/client/assets/{use-org-auth-client-txb4z58s.js → use-org-auth-client-CkkIUM9S.js} +1 -1
- package/dist/client/assets/{use-org-sso-CKIJj-p9.js → use-org-sso-KuL-k7a6.js} +1 -1
- package/dist/client/assets/{use-organization-roles-D0Ir33Lj.js → use-organization-roles-eCK26YGe.js} +1 -1
- package/dist/client/assets/{use-organization-settings-BO40-zX-.js → use-organization-settings--DBZYjEz.js} +1 -1
- package/dist/client/assets/{use-registry-app-Bm34wc6M.js → use-registry-app-CUswxB9s.js} +1 -1
- package/dist/client/assets/{use-registry-connections-CdMY8OWY.js → use-registry-connections-Dn_LiRGF.js} +1 -1
- package/dist/client/assets/{use-secrets-C43Ey8zK.js → use-secrets-DP5PAtmu.js} +1 -1
- package/dist/client/assets/{use-status-sounds-DonGUbaD.js → use-status-sounds-BuEXkiN4.js} +1 -1
- package/dist/client/assets/{use-view-mode-Ywiw5hwj.js → use-view-mode-TJofavCs.js} +1 -1
- package/dist/client/assets/{use-virtual-mcp-lChTcUJY.js → use-virtual-mcp-jjfBPXlM.js} +1 -1
- package/dist/client/assets/useInfiniteQuery-Dh_iq2i2.js +1 -0
- package/dist/client/assets/{useQueries-Bv2kI72M.js → useQueries-Dzc0SGx6.js} +1 -1
- package/dist/client/assets/{useRouterState-ErVIDHPY.js → useRouterState-Dd0hbhPX.js} +1 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-0wwYZE7t.js +1 -0
- package/dist/client/assets/{users-CMAW0Hm2.js → users-CZRPu73f.js} +1 -1
- package/dist/client/assets/{variant-calendar-D55fJDoH.js → variant-calendar-CHJDCiKE.js} +1 -1
- package/dist/client/assets/{view-mode-toggle-4J9hiJ3k.js → view-mode-toggle-DEB0hzOl.js} +1 -1
- package/dist/client/index.html +1 -1
- package/dist/server/cli.js +478 -478
- package/dist/server/migrate.js +14 -14
- package/dist/server/server.js +336 -336
- package/package.json +1 -1
- package/dist/client/assets/page-seo-sheet-CMz3YqRQ.js +0 -1
- package/dist/client/assets/project-app-view-CU5J2oaS.js +0 -1
- package/dist/client/assets/record-editor-CkOrOsLb.js +0 -1
- package/dist/client/assets/redirect-editor-B4ItaSaB.js +0 -1
- package/dist/client/assets/registry-BrXC1IGN.js +0 -2
- package/dist/client/assets/store-registry-Ce2xij5t.js +0 -2
- package/dist/client/assets/useInfiniteQuery-Cg6hP1v8.js +0 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-DD0QGQNb.js +0 -1
package/dist/server/migrate.js
CHANGED
|
@@ -148,7 +148,7 @@ var ta=Object.defineProperty;var na=(t)=>t;function ea(t,n){this[t]=na.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 Bt={};i(Bt,{up:()=>Nu,down:()=>su});import{webcrypto as Ti}from"crypto";var ci="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var Cu=128,D,
|
|
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 Bt={};i(Bt,{up:()=>Nu,down:()=>su});import{webcrypto as Ti}from"crypto";var ci="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var Cu=128,D,L;function pu(t){if(!D||D.length<t)D=Buffer.allocUnsafe(t*Cu),Ti.getRandomValues(D),L=0;else if(L+t>D.length)Ti.getRandomValues(D),L=0;L+=t}function J(t=21){pu(t|=0);let n="";for(let e=L-t;e<L;e++)n+=ci[D[e]&63];return n}var wu="org-admin",fu="Organization Admin";async function Nu(t){await t.schema.createTable("projects").addColumn("id","text",(e)=>e.primaryKey()).addColumn("organization_id","text",(e)=>e.notNull().references("organization.id").onDelete("cascade")).addColumn("slug","text",(e)=>e.notNull()).addColumn("name","text",(e)=>e.notNull()).addColumn("description","text").addColumn("enabled_plugins","text").addColumn("ui","text").addColumn("created_at","text",(e)=>e.notNull()).addColumn("updated_at","text",(e)=>e.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",(e)=>e.primaryKey()).addColumn("project_id","text",(e)=>e.notNull().references("projects.id").onDelete("cascade")).addColumn("plugin_id","text",(e)=>e.notNull()).addColumn("connection_id","text",(e)=>e.references("connections.id").onDelete("set null")).addColumn("settings","text").addColumn("created_at","text",(e)=>e.notNull()).addColumn("updated_at","text",(e)=>e.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 e of n){let u=new Date().toISOString(),a=`proj_${J()}`,o=await t.selectFrom("organization_settings").select(["enabled_plugins"]).where("organizationId","=",e.id).executeTakeFirst();await t.insertInto("projects").values({id:a,organization_id:e.id,slug:wu,name:fu,description:null,enabled_plugins:o?.enabled_plugins??null,ui:null,created_at:u,updated_at:u}).execute()}}async function su(t){await t.schema.dropTable("project_plugin_configs").execute(),await t.schema.dropTable("projects").execute()}var It={};i(It,{up:()=>Eu,down:()=>Ku});async function Eu(t){await t.schema.alterTable("threads").addColumn("status","text",(n)=>n.notNull().defaultTo("completed")).execute()}async function Ku(t){await t.schema.alterTable("threads").dropColumn("status").execute()}var Gt={};i(Gt,{up:()=>hu,down:()=>Pu});async function hu(t){}async function Pu(t){}var vt={};i(vt,{up:()=>zu,down:()=>ku});async function zu(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 ku(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 Vt={};i(Vt,{up:()=>Uu,down:()=>Du});import{sql as Ci}from"kysely";async function Uu(t){await Ci`
|
|
152
152
|
UPDATE connections
|
|
153
153
|
SET connection_url = 'https://studio.decocms.com/org/deco/registry/mcp',
|
|
154
154
|
tools = NULL,
|
|
@@ -212,7 +212,7 @@ var ta=Object.defineProperty;var na=(t)=>t;function ea(t,n){this[t]=na.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",(_)=>_.primaryKey()).addColumn("virtual_mcp_id","text",(_)=>_.notNull().references("connections.id").onDelete("cascade")).addColumn("plugin_id","text",(_)=>_.notNull()).addColumn("connection_id","text",(_)=>_.references("connections.id").onDelete("set null")).addColumn("settings","text").addColumn("created_at","text",(_)=>_.notNull()).addColumn("updated_at","text",(_)=>_.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(),e=await t.selectFrom("member").select(["organizationId","userId"]).where("role","=","owner").execute(),u=new Map;for(let _ of e)u.set(_.organizationId,_.userId);let a=new Map;for(let _ of n){let x=`vir_${
|
|
215
|
+
`.execute(t),await t.schema.createTable("virtual_mcp_plugin_configs").addColumn("id","text",(_)=>_.primaryKey()).addColumn("virtual_mcp_id","text",(_)=>_.notNull().references("connections.id").onDelete("cascade")).addColumn("plugin_id","text",(_)=>_.notNull()).addColumn("connection_id","text",(_)=>_.references("connections.id").onDelete("set null")).addColumn("settings","text").addColumn("created_at","text",(_)=>_.notNull()).addColumn("updated_at","text",(_)=>_.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(),e=await t.selectFrom("member").select(["organizationId","userId"]).where("role","=","owner").execute(),u=new Map;for(let _ of e)u.set(_.organizationId,_.userId);let a=new Map;for(let _ of n){let x=`vir_${J()}`;a.set(_.id,x);let r=_.ui?JSON.parse(_.ui):null,y=JSON.stringify({enabled_plugins:_.enabled_plugins?JSON.parse(_.enabled_plugins):null,ui:r,migrated_from_project:_.id,migrated_project_slug:_.slug}),T=u.get(_.organization_id);if(!T)continue;await t.insertInto("connections").values({id:x,organization_id:_.organization_id,created_by:T,updated_by:null,title:_.name,description:_.description,icon:r?.icon??null,app_name:null,app_id:null,connection_type:"VIRTUAL",connection_url:`virtual://${x}`,connection_token:null,connection_headers:null,oauth_config:null,configuration_state:null,configuration_scopes:null,metadata:y,bindings:null,status:"active",subtype:"project",created_at:_.created_at,updated_at:_.updated_at}).execute()}let o=await t.selectFrom("project_connections").select(["project_id","connection_id","created_at"]).execute();for(let _ of o){let x=a.get(_.project_id);if(!x)continue;await t.insertInto("connection_aggregations").values({id:`agg_${J()}`,parent_connection_id:x,child_connection_id:_.connection_id,selected_tools:null,selected_resources:null,selected_prompts:null,dependency_mode:"direct",created_at:_.created_at}).onConflict((r)=>r.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 _ of m){let x=a.get(_.project_id);if(!x)continue;await t.insertInto("virtual_mcp_plugin_configs").values({id:`vpc_${J()}`,virtual_mcp_id:x,plugin_id:_.plugin_id,connection_id:_.connection_id,settings:_.settings,created_at:_.created_at,updated_at:_.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 bu(t){await t.schema.dropTable("virtual_mcp_plugin_configs").ifExists().execute(),await t.schema.dropIndex("idx_connections_org_type_subtype").ifExists().execute(),await xn`
|
|
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 yn={};i(yn,{up:()=>no,down:()=>eo});import{sql as to}from"kysely";async function no(t){await to`
|
|
@@ -239,24 +239,24 @@ var ta=Object.defineProperty;var na=(t)=>t;function ea(t,n){this[t]=na.bind(null
|
|
|
239
239
|
THEN jsonb_build_array(virtual_mcp_id)::text
|
|
240
240
|
ELSE '[]'
|
|
241
241
|
END
|
|
242
|
-
`.execute(t),await l`DROP INDEX IF EXISTS idx_threads_virtual_mcp_id`.execute(t),await t.schema.alterTable("threads").dropColumn("virtual_mcp_id").execute()}var hn={};i(hn,{up:()=>Ko,down:()=>ho});async function Ko(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 ho(t){await t.schema.dropTable("trigger_callback_tokens").execute()}var Pn={};i(Pn,{up:()=>Po,down:()=>zo});async function Po(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 zo(t){await t.schema.dropTable("kv").execute()}var zn={};i(zn,{up:()=>ko,down:()=>Uo});async function ko(t){await t.schema.createIndex("idx_member_user_org").ifNotExists().on("member").columns(["userId","organizationId"]).execute()}async function Uo(t){await t.schema.dropIndex("idx_member_user_org").execute()}var kn={};i(kn,{up:()=>Do,down:()=>jo});async function Do(t){await t.schema.createIndex("idx_downstream_tokens_connectionId").ifNotExists().on("downstream_tokens").column("connectionId").unique().execute()}async function jo(t){await t.schema.dropIndex("idx_downstream_tokens_connectionId").ifExists().execute()}var Un={};i(Un,{up:()=>Lo,down:()=>Jo});import{sql as w}from"kysely";async function Lo(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 Jo(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 Dn={};i(Dn,{up:()=>Ro,down:()=>Wo});import{sql as
|
|
242
|
+
`.execute(t),await l`DROP INDEX IF EXISTS idx_threads_virtual_mcp_id`.execute(t),await t.schema.alterTable("threads").dropColumn("virtual_mcp_id").execute()}var hn={};i(hn,{up:()=>Ko,down:()=>ho});async function Ko(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 ho(t){await t.schema.dropTable("trigger_callback_tokens").execute()}var Pn={};i(Pn,{up:()=>Po,down:()=>zo});async function Po(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 zo(t){await t.schema.dropTable("kv").execute()}var zn={};i(zn,{up:()=>ko,down:()=>Uo});async function ko(t){await t.schema.createIndex("idx_member_user_org").ifNotExists().on("member").columns(["userId","organizationId"]).execute()}async function Uo(t){await t.schema.dropIndex("idx_member_user_org").execute()}var kn={};i(kn,{up:()=>Do,down:()=>jo});async function Do(t){await t.schema.createIndex("idx_downstream_tokens_connectionId").ifNotExists().on("downstream_tokens").column("connectionId").unique().execute()}async function jo(t){await t.schema.dropIndex("idx_downstream_tokens_connectionId").ifExists().execute()}var Un={};i(Un,{up:()=>Lo,down:()=>Jo});import{sql as w}from"kysely";async function Lo(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 Jo(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 Dn={};i(Dn,{up:()=>Ro,down:()=>Wo});import{sql as R}from"kysely";async function Ro(t){await R`
|
|
243
243
|
ALTER TABLE event_subscriptions
|
|
244
244
|
ALTER COLUMN enabled DROP DEFAULT
|
|
245
|
-
`.execute(t),await
|
|
245
|
+
`.execute(t),await R`
|
|
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 R`
|
|
250
250
|
ALTER TABLE event_subscriptions
|
|
251
251
|
ALTER COLUMN enabled SET DEFAULT true
|
|
252
|
-
`.execute(t)}async function Wo(t){await
|
|
252
|
+
`.execute(t)}async function Wo(t){await R`
|
|
253
253
|
ALTER TABLE event_subscriptions
|
|
254
254
|
ALTER COLUMN enabled DROP DEFAULT
|
|
255
|
-
`.execute(t),await
|
|
255
|
+
`.execute(t),await R`
|
|
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 R`
|
|
260
260
|
ALTER TABLE event_subscriptions
|
|
261
261
|
ALTER COLUMN enabled SET DEFAULT 1
|
|
262
262
|
`.execute(t)}var jn={};i(jn,{up:()=>$o,down:()=>go});import{sql as si}from"kysely";async function $o(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(si`now()`)).addColumn("updated_at","timestamptz",(n)=>n.notNull().defaultTo(si`now()`)).execute(),await t.schema.createIndex("brand_context_organization_id_idx").on("brand_context").column("organization_id").execute()}async function go(t){await t.schema.dropTable("brand_context").execute()}var Ln={};i(Ln,{up:()=>Ao,down:()=>Xo});import{sql as Ei}from"kysely";async function Ao(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(Ei`now()`)).addColumn("updated_at","timestamptz",(n)=>n.notNull().defaultTo(Ei`now()`)).execute()}async function Xo(t){await t.schema.dropTable("organization_domains").execute()}var Jn={};i(Jn,{up:()=>Mo,down:()=>Ho});import{sql as Ki}from"kysely";var d=new Set(["primary","secondary","accent","background","foreground"]),Qo={heading:"heading",headings:"heading",head:"heading",title:"heading",body:"body",primary:"body",text:"body",code:"code",monospace:"code",mono:"code"};function Zo(t){let n={};if(!t)return{structured:null,extra:n};if(!Array.isArray(t)&&typeof t==="object"){let e=t;if(Object.keys(e).some((a)=>d.has(a))){let a={};for(let[o,m]of Object.entries(e)){if(typeof m!=="string")continue;if(d.has(o))a[o]=m;else n[o]=m}return{structured:Object.keys(a).length>0?JSON.stringify(a):null,extra:n}}let u={};for(let[a,o]of Object.entries(e)){if(typeof o!=="string")continue;if(d.has(a.toLowerCase()))u[a.toLowerCase()]=o;else n[a]=o}return{structured:Object.keys(u).length>0?JSON.stringify(u):null,extra:n}}if(Array.isArray(t)){let e={};for(let u of t){let a=u,o=a.label?.toLowerCase?.(),m=a.value;if(!o||!m)continue;if(d.has(o))e[o]=m;else n[o]=m}return{structured:Object.keys(e).length>0?JSON.stringify(e):null,extra:n}}return{structured:null,extra:n}}function Fo(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={},e=[];for(let u of t){let a=u,o=a.name??a.family??void 0,m=a.role?.toLowerCase?.()??"";if(!o)continue;let _=Qo[m];if(_&&!n[_])n[_]=o;else e.push(o)}if(!n.body&&e[0])n.body=e[0];return Object.keys(n).length>0?JSON.stringify(n):null}return null}async function Mo(t){let n=await Ki`SELECT id, colors, fonts, metadata FROM brand_context`.execute(t);for(let e of n.rows){let u=!1,a=!1,o=!1,m=e.colors,_=e.fonts,x={};try{x=e.metadata?JSON.parse(e.metadata):{}}catch{}if(e.colors)try{let r=JSON.parse(e.colors);if(Array.isArray(r)){let y=Zo(r);if(m=y.structured,u=!0,Object.keys(y.extra).length>0)x.extraColors=y.extra,o=!0}}catch{}if(e.fonts)try{let r=JSON.parse(e.fonts);if(Array.isArray(r))_=Fo(r),a=!0}catch{}if(u||a||o){let r=o?JSON.stringify(x):e.metadata;await Ki`
|
|
@@ -331,20 +331,20 @@ var ta=Object.defineProperty;var na=(t)=>t;function ea(t,n){this[t]=na.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 h_(t){await t.schema.dropTable("async_research_jobs").ifExists().execute()}var In={};i(In,{up:()=>P_,down:()=>z_});async function P_(t){await t.schema.alterTable("async_research_jobs").addColumn("result_content","text").execute()}async function z_(t){await t.schema.alterTable("async_research_jobs").dropColumn("result_content").execute()}var Gn={};i(Gn,{up:()=>k_,down:()=>U_});import{sql as
|
|
334
|
+
`.execute(t)}async function h_(t){await t.schema.dropTable("async_research_jobs").ifExists().execute()}var In={};i(In,{up:()=>P_,down:()=>z_});async function P_(t){await t.schema.alterTable("async_research_jobs").addColumn("result_content","text").execute()}async function z_(t){await t.schema.alterTable("async_research_jobs").dropColumn("result_content").execute()}var Gn={};i(Gn,{up:()=>k_,down:()=>U_});import{sql as W}from"kysely";async function k_(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(W`CURRENT_TIMESTAMP`)).addColumn("updated_by","text",(n)=>n.notNull()).addColumn("updated_at","timestamptz",(n)=>n.notNull().defaultTo(W`CURRENT_TIMESTAMP`)).execute(),await W`
|
|
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 W`
|
|
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 W`
|
|
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 W`
|
|
348
348
|
CREATE UNIQUE INDEX idx_secrets_org_name
|
|
349
349
|
ON secrets (organization_id, lower(name))
|
|
350
350
|
WHERE scope = 'organization'
|
|
@@ -833,7 +833,7 @@ var ta=Object.defineProperty;var na=(t)=>t;function ea(t,n){this[t]=na.bind(null
|
|
|
833
833
|
UPDATE "connections"
|
|
834
834
|
SET metadata = ${_}
|
|
835
835
|
WHERE id = ${e.id}
|
|
836
|
-
`.execute(t)}}async function um(t){}var ye={};i(ye,{up:()=>om,down:()=>_m});import{sql as it}from"kysely";async function om(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 it`CREATE UNIQUE INDEX idx_tmp_run_seq ON thread_message_parts (run_id, seq)`.execute(t),await it`CREATE INDEX idx_tmp_thread_created_id ON thread_message_parts (thread_id, created_at, id)`.execute(t),await it`CREATE INDEX idx_tmp_finish_anchor ON thread_message_parts (thread_id, created_at DESC, id DESC) WHERE kind = 'finish'`.execute(t),await it`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 _m(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 ce={};i(ce,{up:()=>mm,down:()=>xm});async function mm(t){await t.schema.alterTable("threads").addColumn("run_fence_token","text").execute()}async function xm(t){await t.schema.alterTable("threads").dropColumn("run_fence_token").execute()}var Te={};i(Te,{up:()=>rm,down:()=>ym});async function rm(t){await t.schema.alterTable("threads").addColumn("link_transport","text").execute()}async function ym(t){await t.schema.alterTable("threads").dropColumn("link_transport").execute()}var Ce={};i(Ce,{up:()=>cm,down:()=>Tm});async function cm(t){await t.schema.alterTable("threads").addColumn("cancel_requested_at","timestamptz").execute()}async function Tm(t){await t.schema.alterTable("threads").dropColumn("cancel_requested_at").execute()}var pe={};i(pe,{up:()=>Cm,down:()=>pm});async function Cm(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 pm(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 we={};i(we,{up:()=>wm,down:()=>fm});async function wm(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 fm(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 Ne={};i(Ne,{up:()=>sm,down:()=>Em});import{sql as h}from"kysely";var f="cluster",N="agent-sandbox";function
|
|
836
|
+
`.execute(t)}}async function um(t){}var ye={};i(ye,{up:()=>om,down:()=>_m});import{sql as it}from"kysely";async function om(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 it`CREATE UNIQUE INDEX idx_tmp_run_seq ON thread_message_parts (run_id, seq)`.execute(t),await it`CREATE INDEX idx_tmp_thread_created_id ON thread_message_parts (thread_id, created_at, id)`.execute(t),await it`CREATE INDEX idx_tmp_finish_anchor ON thread_message_parts (thread_id, created_at DESC, id DESC) WHERE kind = 'finish'`.execute(t),await it`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 _m(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 ce={};i(ce,{up:()=>mm,down:()=>xm});async function mm(t){await t.schema.alterTable("threads").addColumn("run_fence_token","text").execute()}async function xm(t){await t.schema.alterTable("threads").dropColumn("run_fence_token").execute()}var Te={};i(Te,{up:()=>rm,down:()=>ym});async function rm(t){await t.schema.alterTable("threads").addColumn("link_transport","text").execute()}async function ym(t){await t.schema.alterTable("threads").dropColumn("link_transport").execute()}var Ce={};i(Ce,{up:()=>cm,down:()=>Tm});async function cm(t){await t.schema.alterTable("threads").addColumn("cancel_requested_at","timestamptz").execute()}async function Tm(t){await t.schema.alterTable("threads").dropColumn("cancel_requested_at").execute()}var pe={};i(pe,{up:()=>Cm,down:()=>pm});async function Cm(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 pm(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 we={};i(we,{up:()=>wm,down:()=>fm});async function wm(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 fm(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 Ne={};i(Ne,{up:()=>sm,down:()=>Em});import{sql as h}from"kysely";var f="cluster",N="agent-sandbox";function $(t){return t!==null&&typeof t==="object"&&!Array.isArray(t)}function fe(t,n,e){if(!$(t))return t;if(t.sandboxProviderKind!==n)return t;return{...t,sandboxProviderKind:e}}function at(t){if(!$(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!==f&&t.sandboxProviderKind!==N&&t.sandboxProviderKind!=="user-desktop")return!1;if(t.createdAt!==void 0&&typeof t.createdAt!=="number")return!1;if(t.startedWith!==void 0){if(!$(t.startedWith))return!1;for(let n of["packageManager","port","path"]){let e=t.startedWith[n];if(e!==void 0&&e!==null&&typeof e!=="string")return!1}}return!0}function Nm(t,n,e){if(!$(t))return null;let u=!1,a={};for(let[o,m]of Object.entries(t)){if(!$(m)){a[o]=m;continue}let _={};for(let[x,r]of Object.entries(m)){if(!$(r)){_[x]=r;continue}let y={};for(let[T,c]of Object.entries(r)){if(T===n){if(u=!0,!(e in r))y[e]=fe(c,n,e);else if(!at(r[e])&&at(c))y[e]=fe(c,n,e);continue}let s=fe(c,n,e);if(s!==c)u=!0;if(T===e&&T in y&&at(y[T])&&!at(s))continue;y[T]=s}_[x]=y}a[o]=_}return{sandboxMap:a,changed:u}}async function Ri(t,n,e){let u=await h`
|
|
837
837
|
SELECT id, metadata FROM connections
|
|
838
838
|
WHERE connection_type = 'VIRTUAL'
|
|
839
839
|
AND metadata IS NOT NULL
|
|
@@ -1026,7 +1026,7 @@ var ta=Object.defineProperty;var na=(t)=>t;function ea(t,n){this[t]=na.bind(null
|
|
|
1026
1026
|
) ranked
|
|
1027
1027
|
WHERE ranked.rn > 1
|
|
1028
1028
|
)
|
|
1029
|
-
`.execute(t)}async function Jx(t){}var le={};i(le,{up:()=>Rx,down:()=>Wx});async function Rx(t){await t.schema.alterTable("organization_settings").dropColumn("task_board_enabled").execute()}async function Wx(t){await t.schema.alterTable("organization_settings").addColumn("task_board_enabled","boolean",(n)=>n.notNull().defaultTo(!1)).execute()}var de={};i(de,{up:()=>$x,down:()=>gx});async function $x(t){await t.schema.alterTable("task_board_item_threads").addForeignKeyConstraint("task_board_item_threads_task_board_item_id_fkey",["task_board_item_id"],"task_board_items",["id"],(n)=>n.onDelete("cascade")).execute(),await t.schema.alterTable("task_board_item_prs").addForeignKeyConstraint("task_board_item_prs_task_board_item_id_fkey",["task_board_item_id"],"task_board_items",["id"],(n)=>n.onDelete("cascade")).execute()}async function gx(t){await t.schema.alterTable("task_board_item_prs").dropConstraint("task_board_item_prs_task_board_item_id_fkey").execute(),await t.schema.alterTable("task_board_item_threads").dropConstraint("task_board_item_threads_task_board_item_id_fkey").execute()}var be={};i(be,{up:()=>Xx,down:()=>Qx});import{sql as Ax}from"kysely";async function Xx(t){await t.schema.createTable("task_board_import_runs").addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("run_id","text",(n)=>n.notNull()).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(Ax`now()`)).addPrimaryKeyConstraint("task_board_import_runs_pkey",["organization_id","run_id"]).execute(),await t.schema.alterTable("task_board_items").addColumn("external_key","text").execute(),await t.schema.createIndex("idx_task_board_items_org_external_key").on("task_board_items").columns(["organization_id","external_key"]).execute()}async function Qx(t){await t.schema.dropIndex("idx_task_board_items_org_external_key").execute(),await t.schema.alterTable("task_board_items").dropColumn("external_key").execute(),await t.schema.dropTable("task_board_import_runs").execute()}var ti={};i(ti,{up:()=>Fx,down:()=>Mx});import{sql as Zx}from"kysely";async function Fx(t){await t.schema.createTable("agent_sandbox_runner_state").addColumn("project_ref","text",(n)=>n.notNull()).addColumn("sandbox_provider_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(Zx`now()`)).addPrimaryKeyConstraint("agent_sandbox_runner_state_pkey",["project_ref","sandbox_provider_kind"]).execute(),await t.schema.createIndex("agent_sandbox_runner_state_handle_idx").on("agent_sandbox_runner_state").column("handle").execute()}async function Mx(t){await t.schema.dropTable("agent_sandbox_runner_state").execute()}var ni={};i(ni,{up:()=>Hx,down:()=>Ox});import{sql as ot}from"kysely";async function Hx(t){await t.schema.createTable("agent_sandbox_sessions").addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("virtual_mcp_id","text",(n)=>n.notNull()).addColumn("branch","text",(n)=>n.notNull()).addColumn("thread_id","text").addColumn("sandbox_handle","text").addColumn("preview_url","text").addColumn("sandbox_api_url","text").addColumn("desired_state","text",(n)=>n.notNull().defaultTo("running")).addColumn("status","text",(n)=>n.notNull().defaultTo("provisioning")).addColumn("generation","integer",(n)=>n.notNull().defaultTo(1)).addColumn("started_with","jsonb").addColumn("failure_reason","text").addColumn("created_by","text",(n)=>n.notNull()).addColumn("last_started_by","text",(n)=>n.notNull()).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(ot`now()`)).addColumn("updated_at","timestamptz",(n)=>n.notNull().defaultTo(ot`now()`)).addPrimaryKeyConstraint("agent_sandbox_sessions_pkey",["organization_id","virtual_mcp_id","branch"]).addCheckConstraint("agent_sandbox_sessions_desired_state_check",ot`desired_state in ('running', 'stopped')`).addCheckConstraint("agent_sandbox_sessions_status_check",ot`status in ('provisioning', 'ready', 'missing', 'failed', 'stopping', 'reaping', 'deleting', 'stopped')`).execute(),await t.schema.createIndex("agent_sandbox_sessions_vm_updated_idx").on("agent_sandbox_sessions").columns(["organization_id","virtual_mcp_id","updated_at"]).execute(),await t.schema.createIndex("agent_sandbox_sessions_thread_idx").on("agent_sandbox_sessions").columns(["organization_id","thread_id"]).execute()}async function Ox(t){await t.schema.dropTable("agent_sandbox_sessions").execute()}var Sx={"001-initial-schema":ct,"002-organization-settings":Tt,"003-connection-schema-align":Ct,"004-remove-models-binding":pt,"005-connection-configuration":wt,"006-add-views-to-settings":ft,"007-monitoring-logs":Nt,"008-event-bus":st,"009-drop-audit-logs":Et,"010-gateways":Kt,"011-gateway-icon":ht,"012-gateway-tool-selection-mode":Pt,"013-monitoring-user-agent-gateway":zt,"014-gateway-resources-prompts":kt,"015-monitoring-properties":Ut,"016-downstream-token-client-info":Dt,"017-downstream-token-remove-userid":jt,"018-drop-gateway-tool-selection-strategy":Lt,"019-remove-gateway-is-default":Jt,"020-enabled-plugins":Rt,"021-threads":Wt,"022-rename-gateway-to-virtual-mcp":$t,"023-optimize-thread-indexes":gt,"024-consolidate-virtual-mcp":At,"025-add-monitoring-virtual-mcp-id":Xt,"026-restrict-child-connection-delete":Qt,"027-update-management-mcp-url":Ft,"028-update-management-mcp-to-self":Ht,"029-add-updated-by-to-connections":Ot,"030-member-tags":St,"031-add-dependency-mode":Yt,"032-projects":Bt,"033-thread-status":It,"034-monitoring-dashboards":Gt,"035-project-connections":vt,"036-update-registry-url":Vt,"037-ai-provider-keys":qt,"038-oauth-pkce-states":lt,"039-automations":dt,"040-replace-next-run-at-with-last-run-at":bt,"041-ai-provider-keys-unique-constraint":tn,"042-rename-mesh-mcp-to-cms-mcp":nn,"043-rename-cms-mcp-to-deco-cms":en,"044-drop-connections-tools-column":an,"045-thread-context-start-message":un,"046-remove-object-storage-plugin":_n,"047-add-next-run-at":mn,"048-merge-projects-agents":rn,"049-remove-org-admin-projects":yn,"050-durable-agent-runs":cn,"051-org-sso":Cn,"052-thread-agent-ids":pn,"053-registry-config":wn,"054-connection-slug":Nn,"055-spaces":sn,"056-automation-project-scope":En,"057-thread-virtual-mcp-id":Kn,"058-trigger-callback-tokens":hn,"059-kv":Pn,"060-member-index":zn,"061-downstream-token-connection-index":kn,"062-private-registry":Un,"063-event-subscriptions-enabled-boolean":Dn,"064-brand-context":jn,"065-organization-domains":Ln,"066-brand-context-structured":Jn,"067-threads-metadata":Rn,"068-threads-branch":Wn,"069-sandbox-runner-state":$n,"070-model-categories":gn,"071-default-home-agents":An,"072-ai-provider-key-preset-id":Xn,"073-backfill-basic-usage-roles":Qn,"074-sandbox-runner-state-handle-nonunique":Zn,"075-thread-inflight-async-jobs":Fn,"076-automations-drop-agent-json":Mn,"077-tier-only-model-selection":On,"078-automation-tool-call-kind":Sn,"079-strip-legacy-freestyle-vm-map-entries":Yn,"080-async-research-jobs":Bn,"081-async-research-jobs-result-content":In,"082-secrets":Gn,"083-thread-run-locally":vn,"084-drop-host-sandbox-rows":Vn,"085-rename-runner-kind":qn,"086-thread-pins-and-vm-map-rekey":ln,"087-fix-vm-map-rekey":dn,"088-purge-cli-activate-keys":bn,"089-rename-remote-user-to-desktop":te,"090-automation-webhook-triggers":ne,"091-organization-domains-allow-multi":ee,"092-sandbox-naming-uniformization":ie,"093-backfill-global-search-basic-usage":ae,"094-org-file-configs":oe,"095-remove-automation-tool-call-kind":_e,"096-org-file-configs-public-url-base":me,"097-drop-local-docker-sandbox-state":re,"098-thread-message-parts":ye,"099-run-fence":ce,"100-link-transport":Te,"101-cancel-requested-at":Ce,"102-observational-agent":pe,"103-revert-observational-agent":we,"104-agent-sandbox-provider-kind":Ne,"105-org-fs":se,"106-automation-tools":Ee,"107-org-fs-public-org":Ke,"108-automation-max-agent-steps":he,"109-thread-message-parts-per-message-seq":Pe,"110-backfill-ghs-token-expiry":ze,"111-org-fs-thread-id":ke,"112-org-file-configs-credential-type":Ue,"113-thread-failure-reason":De,"114-run-acked-seq":je,"115-thread-projected-seq":Le,"116-org-sites":Je,"117-org-file-configs-site-slug":Re,"118-organization-domains-multi-verify":We,"119-organization-join-requests":$e,"120-org-fs-read-public":ge,"121-org-fs-share-password":Ae,"122-split-web-research-tier":Ze,"123-connection-credential-vault":Fe,"124-drop-thread-projected-seq":Me,"125-github-child-single-parent":He,"126-task-board":Se,"127-task-board-due-date":Ye,"128-reports-only":Be,"129-task-board-assigned-by":Ie,"130-task-board-thread-id":Ge,"131-task-board-thread-link-cascade":ve,"132-task-board-item-prs":Ve,"133-dedupe-duplicate-members":qe,"134-drop-task-board-enabled":le,"135-task-board-item-fk-cascade":de,"136-task-board-import-idempotency":be,"137-agent-sandbox-runner-state":ti,"138-agent-sandbox-sessions":ni},ei=Sx;import{getMigrations as Kr}from"better-auth/db";import{sso as hr}from"@better-auth/sso";import{organization as Pr}from"@decocms/better-auth/plugins";import{admin as zr,apiKey as kr,jwt as Ur,magicLink as Dr,mcp as jr,openAPI as Lr}from"better-auth/plugins";import{emailOTP as Jr}from"better-auth/plugins/email-otp";import{Kysely as Cr,PostgresDialect as Bi}from"kysely";import{Pool as Ii}from"pg";import{homedir as Yx}from"os";var Bx=new Set(["all","worker","api"]);function Ix(t){let n=(t??"").trim();return Bx.has(n)?n:"all"}function L(t){return t==="true"||t==="1"}function Gx(t){if(t===void 0||t==="")return;return L(t)}function vx(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 Vx(t,n){if(t===void 0||t==="")return n;return t==="true"||t==="1"}function Ai(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 qx=new Set(["agent-sandbox","user-desktop"]);function lx(t){let n=t&&t.length>0?t:"user-desktop";if(n==="cluster")return"agent-sandbox";if(!qx.has(n))throw Error(`Unknown STUDIO_SANDBOX_PROVIDER="${t}" \u2014 expected "agent-sandbox", legacy "cluster", or "user-desktop".`);return n}function Xi(t,n){let e=t.home||n.DATA_DIR||n.DECOCMS_HOME||`${Yx()}/deco`,u=t.localMode,a=t.nodeEnv||n.NODE_ENV||"development",o=n.NATS_URL||"nats://localhost:4222",m=Gx(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:L(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:L(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:vx("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:L(n.DECO_AI_GATEWAY_ENABLED),aiGatewayUrl:n.DECO_AI_GATEWAY_URL||"https://ai-site.deco.site",enableDecoImport:L(n.ENABLE_DECO_IMPORT),mcpCacheEnabled:Vx(n.MCP_CACHE_ENABLED,a!=="development"),orgFsPublicSetsJson:n.ORGFS_PUBLIC_SETS,orgFsMountsDisabled:L(n.DISABLE_ORGFS_MOUNTS),sharedAgentSandboxesEnabled:L(n.SHARED_AGENT_SANDBOXES_ENABLED),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:Ix(n.MESH_DISPATCH_ROLE),sandboxProviderKind:lx(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:Ai(n.DATABASE_URL),externalNatsUrl:Ai(o),skipMigrations:t.skipMigrations}}var _t=null;function A(){if(!_t)dx();return _t}function dx(){if(_t)return;let t={...process.env},n=Xi({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);_t=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 ar,metrics as ur,propagation as AT,ROOT_CONTEXT as XT,SpanStatusCode as QT,trace as or}from"@opentelemetry/api";import{logs as _r,SeverityNumber as ii}from"@opentelemetry/api-logs";import{OTLPLogExporter as MT}from"@opentelemetry/exporter-logs-otlp-proto";import{PrometheusExporter as mr}from"@opentelemetry/exporter-prometheus";import{OTLPTraceExporter as ST}from"@opentelemetry/exporter-trace-otlp-proto";import{RuntimeNodeInstrumentation as BT}from"@opentelemetry/instrumentation-runtime-node";import{context as Lc,propagation as Jc,SpanKind as Rc,SpanStatusCode as Wc}from"@opentelemetry/api";var gc=globalThis.fetch;import{ExportResultCode as Ic}from"@opentelemetry/core";import{ExportResultCode as mt}from"@opentelemetry/core";import{mkdir as bx,rename as tr,writeFile as nr}from"fs/promises";import{join as xt}from"path";class rt{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:mt.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:mt.SUCCESS})).catch((n)=>{return console.error("[NDJSONExporter] Flush failed:",n),{code:mt.FAILED}});return Promise.resolve({code:mt.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?xt(this.basePath,n,...u):xt(this.basePath,...u);if(!this.knownDirs.has(a))await bx(a,{recursive:!0,mode:448}),this.knownDirs.add(a);let o=`${crypto.randomUUID()}.ndjson`,m=xt(a,`.${o}.tmp`),_=xt(a,o),x=t.join(`
|
|
1029
|
+
`.execute(t)}async function Jx(t){}var le={};i(le,{up:()=>Rx,down:()=>Wx});async function Rx(t){await t.schema.alterTable("organization_settings").dropColumn("task_board_enabled").execute()}async function Wx(t){await t.schema.alterTable("organization_settings").addColumn("task_board_enabled","boolean",(n)=>n.notNull().defaultTo(!1)).execute()}var de={};i(de,{up:()=>$x,down:()=>gx});async function $x(t){await t.schema.alterTable("task_board_item_threads").addForeignKeyConstraint("task_board_item_threads_task_board_item_id_fkey",["task_board_item_id"],"task_board_items",["id"],(n)=>n.onDelete("cascade")).execute(),await t.schema.alterTable("task_board_item_prs").addForeignKeyConstraint("task_board_item_prs_task_board_item_id_fkey",["task_board_item_id"],"task_board_items",["id"],(n)=>n.onDelete("cascade")).execute()}async function gx(t){await t.schema.alterTable("task_board_item_prs").dropConstraint("task_board_item_prs_task_board_item_id_fkey").execute(),await t.schema.alterTable("task_board_item_threads").dropConstraint("task_board_item_threads_task_board_item_id_fkey").execute()}var be={};i(be,{up:()=>Xx,down:()=>Qx});import{sql as Ax}from"kysely";async function Xx(t){await t.schema.createTable("task_board_import_runs").addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("run_id","text",(n)=>n.notNull()).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(Ax`now()`)).addPrimaryKeyConstraint("task_board_import_runs_pkey",["organization_id","run_id"]).execute(),await t.schema.alterTable("task_board_items").addColumn("external_key","text").execute(),await t.schema.createIndex("idx_task_board_items_org_external_key").on("task_board_items").columns(["organization_id","external_key"]).execute()}async function Qx(t){await t.schema.dropIndex("idx_task_board_items_org_external_key").execute(),await t.schema.alterTable("task_board_items").dropColumn("external_key").execute(),await t.schema.dropTable("task_board_import_runs").execute()}var ti={};i(ti,{up:()=>Fx,down:()=>Mx});import{sql as Zx}from"kysely";async function Fx(t){await t.schema.createTable("agent_sandbox_runner_state").addColumn("project_ref","text",(n)=>n.notNull()).addColumn("sandbox_provider_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(Zx`now()`)).addPrimaryKeyConstraint("agent_sandbox_runner_state_pkey",["project_ref","sandbox_provider_kind"]).execute(),await t.schema.createIndex("agent_sandbox_runner_state_handle_idx").on("agent_sandbox_runner_state").column("handle").execute()}async function Mx(t){await t.schema.dropTable("agent_sandbox_runner_state").execute()}var ni={};i(ni,{up:()=>Hx,down:()=>Ox});import{sql as ot}from"kysely";async function Hx(t){await t.schema.createTable("agent_sandbox_sessions").addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("virtual_mcp_id","text",(n)=>n.notNull()).addColumn("branch","text",(n)=>n.notNull()).addColumn("thread_id","text").addColumn("sandbox_handle","text").addColumn("preview_url","text").addColumn("sandbox_api_url","text").addColumn("desired_state","text",(n)=>n.notNull().defaultTo("running")).addColumn("status","text",(n)=>n.notNull().defaultTo("provisioning")).addColumn("generation","integer",(n)=>n.notNull().defaultTo(1)).addColumn("started_with","jsonb").addColumn("failure_reason","text").addColumn("created_by","text",(n)=>n.notNull()).addColumn("last_started_by","text",(n)=>n.notNull()).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(ot`now()`)).addColumn("updated_at","timestamptz",(n)=>n.notNull().defaultTo(ot`now()`)).addPrimaryKeyConstraint("agent_sandbox_sessions_pkey",["organization_id","virtual_mcp_id","branch"]).addCheckConstraint("agent_sandbox_sessions_desired_state_check",ot`desired_state in ('running', 'stopped')`).addCheckConstraint("agent_sandbox_sessions_status_check",ot`status in ('provisioning', 'ready', 'missing', 'failed', 'stopping', 'reaping', 'deleting', 'stopped')`).execute(),await t.schema.createIndex("agent_sandbox_sessions_vm_updated_idx").on("agent_sandbox_sessions").columns(["organization_id","virtual_mcp_id","updated_at"]).execute(),await t.schema.createIndex("agent_sandbox_sessions_thread_idx").on("agent_sandbox_sessions").columns(["organization_id","thread_id"]).execute()}async function Ox(t){await t.schema.dropTable("agent_sandbox_sessions").execute()}var Sx={"001-initial-schema":ct,"002-organization-settings":Tt,"003-connection-schema-align":Ct,"004-remove-models-binding":pt,"005-connection-configuration":wt,"006-add-views-to-settings":ft,"007-monitoring-logs":Nt,"008-event-bus":st,"009-drop-audit-logs":Et,"010-gateways":Kt,"011-gateway-icon":ht,"012-gateway-tool-selection-mode":Pt,"013-monitoring-user-agent-gateway":zt,"014-gateway-resources-prompts":kt,"015-monitoring-properties":Ut,"016-downstream-token-client-info":Dt,"017-downstream-token-remove-userid":jt,"018-drop-gateway-tool-selection-strategy":Lt,"019-remove-gateway-is-default":Jt,"020-enabled-plugins":Rt,"021-threads":Wt,"022-rename-gateway-to-virtual-mcp":$t,"023-optimize-thread-indexes":gt,"024-consolidate-virtual-mcp":At,"025-add-monitoring-virtual-mcp-id":Xt,"026-restrict-child-connection-delete":Qt,"027-update-management-mcp-url":Ft,"028-update-management-mcp-to-self":Ht,"029-add-updated-by-to-connections":Ot,"030-member-tags":St,"031-add-dependency-mode":Yt,"032-projects":Bt,"033-thread-status":It,"034-monitoring-dashboards":Gt,"035-project-connections":vt,"036-update-registry-url":Vt,"037-ai-provider-keys":qt,"038-oauth-pkce-states":lt,"039-automations":dt,"040-replace-next-run-at-with-last-run-at":bt,"041-ai-provider-keys-unique-constraint":tn,"042-rename-mesh-mcp-to-cms-mcp":nn,"043-rename-cms-mcp-to-deco-cms":en,"044-drop-connections-tools-column":an,"045-thread-context-start-message":un,"046-remove-object-storage-plugin":_n,"047-add-next-run-at":mn,"048-merge-projects-agents":rn,"049-remove-org-admin-projects":yn,"050-durable-agent-runs":cn,"051-org-sso":Cn,"052-thread-agent-ids":pn,"053-registry-config":wn,"054-connection-slug":Nn,"055-spaces":sn,"056-automation-project-scope":En,"057-thread-virtual-mcp-id":Kn,"058-trigger-callback-tokens":hn,"059-kv":Pn,"060-member-index":zn,"061-downstream-token-connection-index":kn,"062-private-registry":Un,"063-event-subscriptions-enabled-boolean":Dn,"064-brand-context":jn,"065-organization-domains":Ln,"066-brand-context-structured":Jn,"067-threads-metadata":Rn,"068-threads-branch":Wn,"069-sandbox-runner-state":$n,"070-model-categories":gn,"071-default-home-agents":An,"072-ai-provider-key-preset-id":Xn,"073-backfill-basic-usage-roles":Qn,"074-sandbox-runner-state-handle-nonunique":Zn,"075-thread-inflight-async-jobs":Fn,"076-automations-drop-agent-json":Mn,"077-tier-only-model-selection":On,"078-automation-tool-call-kind":Sn,"079-strip-legacy-freestyle-vm-map-entries":Yn,"080-async-research-jobs":Bn,"081-async-research-jobs-result-content":In,"082-secrets":Gn,"083-thread-run-locally":vn,"084-drop-host-sandbox-rows":Vn,"085-rename-runner-kind":qn,"086-thread-pins-and-vm-map-rekey":ln,"087-fix-vm-map-rekey":dn,"088-purge-cli-activate-keys":bn,"089-rename-remote-user-to-desktop":te,"090-automation-webhook-triggers":ne,"091-organization-domains-allow-multi":ee,"092-sandbox-naming-uniformization":ie,"093-backfill-global-search-basic-usage":ae,"094-org-file-configs":oe,"095-remove-automation-tool-call-kind":_e,"096-org-file-configs-public-url-base":me,"097-drop-local-docker-sandbox-state":re,"098-thread-message-parts":ye,"099-run-fence":ce,"100-link-transport":Te,"101-cancel-requested-at":Ce,"102-observational-agent":pe,"103-revert-observational-agent":we,"104-agent-sandbox-provider-kind":Ne,"105-org-fs":se,"106-automation-tools":Ee,"107-org-fs-public-org":Ke,"108-automation-max-agent-steps":he,"109-thread-message-parts-per-message-seq":Pe,"110-backfill-ghs-token-expiry":ze,"111-org-fs-thread-id":ke,"112-org-file-configs-credential-type":Ue,"113-thread-failure-reason":De,"114-run-acked-seq":je,"115-thread-projected-seq":Le,"116-org-sites":Je,"117-org-file-configs-site-slug":Re,"118-organization-domains-multi-verify":We,"119-organization-join-requests":$e,"120-org-fs-read-public":ge,"121-org-fs-share-password":Ae,"122-split-web-research-tier":Ze,"123-connection-credential-vault":Fe,"124-drop-thread-projected-seq":Me,"125-github-child-single-parent":He,"126-task-board":Se,"127-task-board-due-date":Ye,"128-reports-only":Be,"129-task-board-assigned-by":Ie,"130-task-board-thread-id":Ge,"131-task-board-thread-link-cascade":ve,"132-task-board-item-prs":Ve,"133-dedupe-duplicate-members":qe,"134-drop-task-board-enabled":le,"135-task-board-item-fk-cascade":de,"136-task-board-import-idempotency":be,"137-agent-sandbox-runner-state":ti,"138-agent-sandbox-sessions":ni},ei=Sx;import{getMigrations as Kr}from"better-auth/db";import{sso as hr}from"@better-auth/sso";import{organization as Pr}from"@decocms/better-auth/plugins";import{admin as zr,apiKey as kr,jwt as Ur,magicLink as Dr,mcp as jr,openAPI as Lr}from"better-auth/plugins";import{emailOTP as Jr}from"better-auth/plugins/email-otp";import{Kysely as Cr,PostgresDialect as Bi}from"kysely";import{Pool as Ii}from"pg";import{homedir as Yx}from"os";var Bx=new Set(["all","worker","api"]);function Ix(t){let n=(t??"").trim();return Bx.has(n)?n:"all"}function g(t){return t==="true"||t==="1"}function Gx(t){if(t===void 0||t==="")return;return g(t)}function vx(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 Vx(t,n){if(t===void 0||t==="")return n;return t==="true"||t==="1"}function Ai(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 qx=new Set(["agent-sandbox","user-desktop"]);function lx(t){let n=t&&t.length>0?t:"user-desktop";if(n==="cluster")return"agent-sandbox";if(!qx.has(n))throw Error(`Unknown STUDIO_SANDBOX_PROVIDER="${t}" \u2014 expected "agent-sandbox", legacy "cluster", or "user-desktop".`);return n}function Xi(t,n){let e=t.home||n.DATA_DIR||n.DECOCMS_HOME||`${Yx()}/deco`,u=t.localMode,a=t.nodeEnv||n.NODE_ENV||"development",o=n.NATS_URL||"nats://localhost:4222",m=Gx(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:g(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:g(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:vx("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:g(n.DECO_AI_GATEWAY_ENABLED),aiGatewayUrl:n.DECO_AI_GATEWAY_URL||"https://ai-site.deco.site",enableDecoImport:g(n.ENABLE_DECO_IMPORT),mcpCacheEnabled:Vx(n.MCP_CACHE_ENABLED,a!=="development"),orgFsPublicSetsJson:n.ORGFS_PUBLIC_SETS,orgFsMountsDisabled:g(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:Ix(n.MESH_DISPATCH_ROLE),sandboxProviderKind:lx(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:Ai(n.DATABASE_URL),externalNatsUrl:Ai(o),skipMigrations:t.skipMigrations}}var _t=null;function A(){if(!_t)dx();return _t}function dx(){if(_t)return;let t={...process.env},n=Xi({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);_t=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 ar,metrics as ur,propagation as AT,ROOT_CONTEXT as XT,SpanStatusCode as QT,trace as or}from"@opentelemetry/api";import{logs as _r,SeverityNumber as ii}from"@opentelemetry/api-logs";import{OTLPLogExporter as MT}from"@opentelemetry/exporter-logs-otlp-proto";import{PrometheusExporter as mr}from"@opentelemetry/exporter-prometheus";import{OTLPTraceExporter as ST}from"@opentelemetry/exporter-trace-otlp-proto";import{RuntimeNodeInstrumentation as BT}from"@opentelemetry/instrumentation-runtime-node";import{context as Lc,propagation as Jc,SpanKind as Rc,SpanStatusCode as Wc}from"@opentelemetry/api";var gc=globalThis.fetch;import{ExportResultCode as Ic}from"@opentelemetry/core";import{ExportResultCode as mt}from"@opentelemetry/core";import{mkdir as bx,rename as tr,writeFile as nr}from"fs/promises";import{join as xt}from"path";class rt{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:mt.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:mt.SUCCESS})).catch((n)=>{return console.error("[NDJSONExporter] Flush failed:",n),{code:mt.FAILED}});return Promise.resolve({code:mt.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?xt(this.basePath,n,...u):xt(this.basePath,...u);if(!this.knownDirs.has(a))await bx(a,{recursive:!0,mode:448}),this.knownDirs.add(a);let o=`${crypto.randomUUID()}.ndjson`,m=xt(a,`.${o}.tmp`),_=xt(a,o),x=t.join(`
|
|
1030
1030
|
`)+`
|
|
1031
1031
|
`;await nr(m,x,{mode:384}),await tr(m,_)}}import{ExportResultCode as lc}from"@opentelemetry/core";import{AggregationTemporality as bc,DataPointType as tT}from"@opentelemetry/sdk-metrics";import{ExportResultCode as oT}from"@opentelemetry/core";var rT=Buffer.byteLength("... [TRUNCATED]","utf8");import{BatchLogRecordProcessor as tC,LoggerProvider as nC}from"@opentelemetry/sdk-logs";import{detectResources as iC,envDetector as aC,hostDetector as uC,osDetector as oC,processDetector as _C,resourceFromAttributes as mC}from"@opentelemetry/resources";import{PeriodicExportingMetricReader as rC}from"@opentelemetry/sdk-metrics";import{NOOP_LOGGER as TT}from"@opentelemetry/api-logs";import{NodeSDK as TC}from"@opentelemetry/sdk-node";import{BatchSpanProcessor as pC,SamplingDecision as X}from"@opentelemetry/sdk-trace-base";import{SpanStatusCode as NT}from"@opentelemetry/api";var xr="__d",rr=ar("Current request"),yr=1;var Zi=(t)=>{let e=new URL(t.url).searchParams.get(xr);if(e==="")return crypto.randomUUID();if(!e)e=t.headers.get("x-trace-debug-id");return e};class Fi{inner;constructor(t){this.inner=t}shouldSample(t,n,e,u,a,o){let m=t.getValue(rr);if(!m){if(this.inner)return this.inner.shouldSample(t,n,e,u,a,o);return{decision:X.RECORD_AND_SAMPLED}}let _=Zi(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 Mi{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 fC=new mr({preventServerStart:!0}),NC=new Fi(new Mi(yr));var Qi=or.getTracer("studio","1.0.0"),B=ur.getMeter("studio","1.0.0"),cr=_r.getLogger("studio","1.0.0"),ai=(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(" ");cr.emit({severityNumber:t,severityText:n,body:m,attributes:{"log.source":"console",...u}})},ui={error:console.error.bind(console),warn:console.warn.bind(console),debug:console.debug.bind(console)};console.error=(...t)=>{ai(ii.ERROR,"ERROR",t),ui.error(...t)};console.warn=(...t)=>{ai(ii.WARN,"WARN",t),ui.warn(...t)};console.debug=(...t)=>{ai(ii.DEBUG,"DEBUG",t),ui.debug(...t)};var oi,Hi=0,_i=500;function Tr(){if(oi)return;let t=performance.now()+_i;oi=setInterval(()=>{let n=performance.now();Hi=Math.max(0,n-t),t=n+_i},_i),oi.unref?.()}function Oi(){return Tr(),Hi}var pr=()=>B.createHistogram("db.query.duration",{description:"Database query execution duration in milliseconds",unit:"ms"}),Si=()=>B.createHistogram("db.pool.acquire.duration",{description:"Time spent waiting to acquire a connection from the pool",unit:"ms"}),Yi=400,wr=100,fr=(t)=>(n)=>{let e={"db.statement":n.query.sql,"db.status":n.level==="error"?"error":"success"};if(n.queryDurationMillis>Yi){let u=Oi(),a=u>Yi/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:yt()}})}if(pr().record(n.queryDurationMillis,e),n.level==="error")console.error("Query failed:",{durationMs:n.queryDurationMillis,error:n.error,sql:n.query.sql})};function Nr(t){let n=t.connect.bind(t);return t.connect=(e)=>{if(typeof e==="function")return n(e);let u=performance.now(),a=yt(),o=t.idleCount===0&&t.totalCount>=a,m=t.idleCount;return n().then((_)=>{let x=performance.now()-u;if(Si().record(x,{"db.pool.outcome":o?"contended":"available"}),x>wr)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 Si().record(performance.now()-u,{"db.pool.outcome":"error"}),_})},t}var Gi={keepAlive:!0,keepAliveInitialDelayMillis:1e4,idleTimeoutMillis:300000,connectionTimeoutMillis:30000,allowExitOnIdle:!0};function vi(){try{return A().databasePgSsl}catch{return!1}}function yt(){try{return A().databasePoolMax}catch{return 10}}function sr(t){let n=Nr(new Ii({connectionString:t,max:yt(),ssl:vi(),...Gi})),e=new Bi({pool:n});return{type:"postgres",db:new Cr({dialect:e,log:fr(n)}),pool:n}}function G(){return A().databaseUrl}function Vi(t){let n=t||G();return new Bi({pool:new Ii({connectionString:n,max:yt(),ssl:vi(),...Gi})})}function Er(t){let n=t||G();return sr(n)}async function qi(t){if(await t.db.destroy(),!t.pool.ended)await t.pool.end();if(t===I)I=null}var I=null;function mi(){if(!I)I=Er(G());return I}async function li(t){let e={database:Vi(t||G()),plugins:[Pr({dynamicAccessControl:{enabled:!0,enableCustomResources:!0}}),zr(),kr(),Ur(),Lr(),jr({loginPage:"/login"}),hr(),Dr({sendMagicLink:async()=>{}}),Jr({sendVerificationOTP:async()=>{}})]},{toBeAdded:u,toBeCreated:a,runMigrations:o}=await Kr(e);if(!u.length&&!a.length)return"up to date";return await o(),`${a.length+u.length} table(s) migrated`}async function bi(t,n){return(await Q`
|
|
1032
1032
|
SELECT table_name FROM information_schema.tables
|