decocms 2.162.1 → 2.162.2
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-7lB7fro0.js → AlertCircle-CLSQ0NLi.js} +1 -1
- package/dist/client/assets/{AlignLeft-CWbftioK.js → AlignLeft-DGT5YesK.js} +1 -1
- package/dist/client/assets/{ArrowDown-Ce-Md5NR.js → ArrowDown-BeNMpJ4E.js} +1 -1
- package/dist/client/assets/{ArrowLeft-DNGwlp4M.js → ArrowLeft-ZgtBxTyN.js} +1 -1
- package/dist/client/assets/{ArrowUp-B9ucqKIV.js → ArrowUp-WkRPF3Cl.js} +1 -1
- package/dist/client/assets/{Check-Cvo-Mj0S.js → Check-D30Nw_2C.js} +1 -1
- package/dist/client/assets/{CheckCircle-BhnUN_-o.js → CheckCircle-4PmUxEXj.js} +1 -1
- package/dist/client/assets/{CheckDone01-Dh2K_VwC.js → CheckDone01-BYS-dKbQ.js} +1 -1
- package/dist/client/assets/{CheckVerified02-B23tFeT2.js → CheckVerified02-C_5D8neO.js} +1 -1
- package/dist/client/assets/{ChevronDown-DYWNve60.js → ChevronDown-C7zTxlHE.js} +1 -1
- package/dist/client/assets/{ChevronLeft-CIJS6SFa.js → ChevronLeft-Ov3NE9c_.js} +1 -1
- package/dist/client/assets/{ChevronRight-B4xXvXUl.js → ChevronRight-BJe7e-X2.js} +1 -1
- package/dist/client/assets/{Clock-Di0Vpv60.js → Clock--mEiDXe5.js} +1 -1
- package/dist/client/assets/{Code01-CeoOPe4L.js → Code01-BOUu51ck.js} +1 -1
- package/dist/client/assets/{Container-BvytClvz.js → Container-BXYdiT-J.js} +1 -1
- package/dist/client/assets/{Copy01-DEyL4hmF.js → Copy01-xLxETA4z.js} +1 -1
- package/dist/client/assets/{Dataflow03-BwgEkxHj.js → Dataflow03-FtQ0Yhj_.js} +1 -1
- package/dist/client/assets/{DotsHorizontal-BdKjLiyh.js → DotsHorizontal-Dprv0d9t.js} +1 -1
- package/dist/client/assets/{DotsVertical-BOqBGvRn.js → DotsVertical-C9TpfjSq.js} +1 -1
- package/dist/client/assets/{Download01-D8lTpA1-.js → Download01-TaBKKGTy.js} +1 -1
- package/dist/client/assets/{Edit01-olXvAtAZ.js → Edit01-BE5Wu5ID.js} +1 -1
- package/dist/client/assets/{Edit05-vNRWQV-M.js → Edit05-CHAqfRrN.js} +1 -1
- package/dist/client/assets/{Eye-DQ2cNQ7_.js → Eye-CmzbjCht.js} +1 -1
- package/dist/client/assets/{File02-o3tqw3TU.js → File02-DDGW2KdF.js} +1 -1
- package/dist/client/assets/{File06-CHaNuqmq.js → File06-u0e892jj.js} +1 -1
- package/dist/client/assets/{FilterLines-hoXV8gL3.js → FilterLines-peoUm3Kp.js} +1 -1
- package/dist/client/assets/{Globe01-DGfi10DG.js → Globe01-CttWHoLh.js} +1 -1
- package/dist/client/assets/{Globe02-2YlWazS5.js → Globe02-BaK8gLi7.js} +1 -1
- package/dist/client/assets/{Grid01-41ZWwZ8C.js → Grid01-MfVmgqVA.js} +1 -1
- package/dist/client/assets/{Hash02-CY2safPs.js → Hash02-BBdDXKgB.js} +1 -1
- package/dist/client/assets/{Home02-3xprgDGx.js → Home02-CD_MJrmZ.js} +1 -1
- package/dist/client/assets/{Image01-D8nsgOa4.js → Image01-NW_uhHHO.js} +1 -1
- package/dist/client/assets/{Inbox01-DreXa4ow.js → Inbox01-DUegC4zX.js} +1 -1
- package/dist/client/assets/{InfoCircle-DWkOumoB.js → InfoCircle-BdKgGvOW.js} +1 -1
- package/dist/client/assets/{Key01-DsUMZZb4.js → Key01-VhvVpwde.js} +1 -1
- package/dist/client/assets/{LayersTwo01-CozGeYpA.js → LayersTwo01-DY3gWhYo.js} +1 -1
- package/dist/client/assets/{LayoutLeft-BxnBHF6O.js → LayoutLeft-CTT2u70-.js} +1 -1
- package/dist/client/assets/{Link01-BW7OJP9H.js → Link01-Bm8fkbw8.js} +1 -1
- package/dist/client/assets/{LinkExternal01-B9scdF6U.js → LinkExternal01-D38J8WFf.js} +1 -1
- package/dist/client/assets/{List-BWlMAKKi.js → List-DBox7Fud.js} +1 -1
- package/dist/client/assets/{Loading01-DwU5xHXm.js → Loading01-DoI38kJv.js} +1 -1
- package/dist/client/assets/{Lock01-Culpb3mN.js → Lock01-BpzLUKPy.js} +1 -1
- package/dist/client/assets/{Play-DuD9KGGY.js → Play-Cff6s-Do.js} +1 -1
- package/dist/client/assets/{Plus-Dhm20gcZ.js → Plus-vjPXrbll.js} +1 -1
- package/dist/client/assets/{RefreshCcw01-CKrNRsn6.js → RefreshCcw01-C1dtrtd7.js} +1 -1
- package/dist/client/assets/{Save01-CSAj2bS1.js → Save01-DrnHDSfN.js} +1 -1
- package/dist/client/assets/{SearchMd-DwqVVEmk.js → SearchMd-BpeHWO8y.js} +1 -1
- package/dist/client/assets/{Settings01-DL_2jKIF.js → Settings01-C_OWZaLW.js} +1 -1
- package/dist/client/assets/{Shield01-BNl_AxVr.js → Shield01-Blnh5_zF.js} +1 -1
- package/dist/client/assets/{Terminal-BxC2jtAF.js → Terminal-CUOLHPPn.js} +1 -1
- package/dist/client/assets/{Trash01-CleP0qGT.js → Trash01-Bfnjcg6w.js} +1 -1
- package/dist/client/assets/{Upload01-Bpm7zuzQ.js → Upload01-DA4ZJJnb.js} +1 -1
- package/dist/client/assets/{Users03-BKRGqc64.js → Users03-CiI7Y2pI.js} +1 -1
- package/dist/client/assets/{X-BkXzJkvJ.js → X-LrH2dki2.js} +1 -1
- package/dist/client/assets/{XCircle-CQ0cwRmR.js → XCircle-KlbMEvQq.js} +1 -1
- package/dist/client/assets/{XClose-d8Jjie9z.js → XClose-T4dQr9IP.js} +1 -1
- package/dist/client/assets/{Zap-BTobxj-V.js → Zap-Cx7CJpzQ.js} +1 -1
- package/dist/client/assets/{agent-connections-preview-DAX-YxCn.js → agent-connections-preview-99IZ2JVi.js} +1 -1
- package/dist/client/assets/{agent-detail-Dd9g04cA.js → agent-detail-CQafIKIf.js} +1 -1
- package/dist/client/assets/{agents-BFg1anO6.js → agents-BBhRTRP7.js} +1 -1
- package/dist/client/assets/{alert-dialog-CR2Y_gWg.js → alert-dialog-ZI_d17Kf.js} +1 -1
- package/dist/client/assets/{auth-catchall-3qDVsVQ3.js → auth-catchall-B_kUtzsk.js} +1 -1
- package/dist/client/assets/{avatar-D_V-3wap.js → avatar-DMHAVN2G.js} +1 -1
- package/dist/client/assets/{badge-BsrlHJ_x.js → badge-ChDtoe7k.js} +1 -1
- package/dist/client/assets/{binder-B2J3jrRf.js → binder-BSp18fmP.js} +1 -1
- package/dist/client/assets/{breadcrumb-oFROyAn_.js → breadcrumb-DBcowLTl.js} +1 -1
- package/dist/client/assets/{card-EygHFK51.js → card-ChLHZaFH.js} +1 -1
- package/dist/client/assets/{chart-Bmnx76NN.js → chart-DOQ1KDh7.js} +1 -1
- package/dist/client/assets/{checkbox-CvzFKjZ3.js → checkbox-D_aK0Mdh.js} +1 -1
- package/dist/client/assets/{circle-alert-jB_R9VIQ.js → circle-alert-BHkFRl9i.js} +1 -1
- package/dist/client/assets/{collapsible-lu3Iy-S0.js → collapsible-CtdNMvGE.js} +1 -1
- package/dist/client/assets/{collection-detail-Bt1GArvb.js → collection-detail-CmmN6I8A.js} +1 -1
- package/dist/client/assets/{collection-display-button-YC_aXzYK.js → collection-display-button-Bv7DhR9w.js} +1 -1
- package/dist/client/assets/{collection-search-BdCpnSfc.js → collection-search-DnArRJMW.js} +1 -1
- package/dist/client/assets/{collection-tab-C2v1k0qS.js → collection-tab-CC0q_OnK.js} +1 -1
- package/dist/client/assets/{collection-table-wrapper-DhJA7hQ9.js → collection-table-wrapper-CEwU2e2W.js} +1 -1
- package/dist/client/assets/{collection-tabs-CioUgcWn.js → collection-tabs-CZLvOfkH.js} +1 -1
- package/dist/client/assets/{command-Dr9ELOIm.js → command-DLB128Pb.js} +1 -1
- package/dist/client/assets/{connect-DvWhgY7R.js → connect-CI9IzyBL.js} +1 -1
- package/dist/client/assets/{connection-card-uFTSOaWH.js → connection-card-ByscPAIj.js} +1 -1
- package/dist/client/assets/{connection-detail-C1eD5ISP.js → connection-detail-uL7h2miw.js} +1 -1
- package/dist/client/assets/{connection-status-CUgTWSPZ.js → connection-status-BLpLQzSg.js} +1 -1
- package/dist/client/assets/{connections-Da_AzXLe.js → connections-DMFM3gUy.js} +1 -1
- package/dist/client/assets/constants-CUyJcaN8.js +1 -0
- package/dist/client/assets/{constants-CJKNcVO0.js → constants-OpiJAgZI.js} +1 -1
- package/dist/client/assets/{context-iluKjV89.js → context-7Kd5bp6X.js} +1 -1
- package/dist/client/assets/{create-organization-dialog-BiPFmP0t.js → create-organization-dialog-BneQWVKs.js} +1 -1
- package/dist/client/assets/{create-project-dialog-CZRaXDOF.js → create-project-dialog-DcUDVcZj.js} +1 -1
- package/dist/client/assets/{danger-CS7q8T7g.js → danger-DbvicEY-.js} +1 -1
- package/dist/client/assets/{danger-zone-Arlo0D2G.js → danger-zone-CsqhCbO1.js} +1 -1
- package/dist/client/assets/{decopilot-events-C1rn4nxl.js → decopilot-events-BAhRgxLp.js} +1 -1
- package/dist/client/assets/{dependencies-C1u7sWiw.js → dependencies-Ds_GH7yM.js} +1 -1
- package/dist/client/assets/{dialog-De2kjp-7.js → dialog-DXMtLbOt.js} +1 -1
- package/dist/client/assets/{dropdown-menu-CBXVfpi8.js → dropdown-menu-Bv41z45k.js} +1 -1
- package/dist/client/assets/{dynamic-plugin-layout-D7aWriCh.js → dynamic-plugin-layout-CA3PBJG1.js} +1 -1
- package/dist/client/assets/{editable-task-title-Dw21XHnW.js → editable-task-title-BUHTazHh.js} +1 -1
- package/dist/client/assets/{empty-state-CCFoZ2I0.js → empty-state-D2gP2QeK.js} +1 -1
- package/dist/client/assets/{env-vars-editor-QlY_vLwo.js → env-vars-editor-DXU1-vnq.js} +1 -1
- package/dist/client/assets/{extract-connection-data-Drlb76Zi.js → extract-connection-data-CYsp_UMA.js} +1 -1
- package/dist/client/assets/{file-browser-CgJoRnNX.js → file-browser-DkGVcDoL.js} +2 -2
- package/dist/client/assets/{form-Do17Zmtj.js → form-Ndm9rRCe.js} +1 -1
- package/dist/client/assets/{general-BNTVDu8S.js → general-opBI2uJ9.js} +1 -1
- package/dist/client/assets/{grid-view-C25yp3XL.js → grid-view-CSu6RixN.js} +1 -1
- package/dist/client/assets/{home-CugPrCQk.js → home-B8vvircu.js} +1 -1
- package/dist/client/assets/{icon-picker-BRAO_6f7.js → icon-picker-8kNIyP1o.js} +1 -1
- package/dist/client/assets/{index-BWWyL373.js → index-BUZqKnhc.js} +1 -1
- package/dist/client/assets/{index-CWkZVTaB.js → index-C_qyq-0C.js} +1 -1
- package/dist/client/assets/{index-CkH3mWvs.js → index-CzhqcVNy.js} +3 -3
- package/dist/client/assets/{index-Bd2o7ApL.js → index-D0IWyB7F.js} +1 -1
- package/dist/client/assets/{index-BcCLyj5B.js → index-Dq7847Un.js} +1 -1
- package/dist/client/assets/{index-DYwRYhsj.js → index-DvM0KkHv.js} +1 -1
- package/dist/client/assets/{index-DJbhPUvH.js → index-NVV58uyB.js} +1 -1
- package/dist/client/assets/{index-DJaJOTT1.js → index-reo4wb4o.js} +1 -1
- package/dist/client/assets/{index-B-OdNlE7.js → index-u3QgiiTa.js} +1 -1
- package/dist/client/assets/{infiniteQueryObserver-DAaNXBsl.js → infiniteQueryObserver-B0sfe0Pc.js} +1 -1
- package/dist/client/assets/{input-Byroc8t4.js → input-CaHgq6JC.js} +1 -1
- package/dist/client/assets/{integration-icon-mwS0bnEH.js → integration-icon-C_O5yvdg.js} +1 -1
- package/dist/client/assets/{label-D4oI89DS.js → label-ZRpbI7Sm.js} +1 -1
- package/dist/client/assets/{layout-DoVjZIrn.js → layout-Di7S7mGF.js} +1 -1
- package/dist/client/assets/{layout-DDl2Bvjj.js → layout-_gy6ZrEk.js} +1 -1
- package/dist/client/assets/{localstorage-keys-DueMZIFu.js → localstorage-keys-CL6qU9e5.js} +1 -1
- package/dist/client/assets/{login-l7LPfl41.js → login-DzHv8Qa0.js} +1 -1
- package/dist/client/assets/{markdown-C5HDJBhu.js → markdown-CjmEcbPS.js} +1 -1
- package/dist/client/assets/{mcp-app-renderer-CcbaBTO3.js → mcp-app-renderer-DjshzOV0.js} +1 -1
- package/dist/client/assets/{mcp-server-card-DMYKZy5B.js → mcp-server-card-CbhtCiCR.js} +1 -1
- package/dist/client/assets/{mcp-server-detail-CaijVFsh.js → mcp-server-detail-Dm6C4rJd.js} +2 -2
- package/dist/client/assets/{members-DHOUb6ci.js → members-D0WpzrAD.js} +1 -1
- package/dist/client/assets/{monaco-editor-BQLItIWK.js → monaco-editor-860lh9IG.js} +1 -1
- package/dist/client/assets/{monitoring-Dts7enDX.js → monitoring-B8ASHaBh.js} +1 -1
- package/dist/client/assets/{monitoring-dashboard-edit-BpdxPDCL.js → monitoring-dashboard-edit-CKffDTQw.js} +1 -1
- package/dist/client/assets/{monitoring-dashboard-view-9-ODb2Fv.js → monitoring-dashboard-view-C1XkuilW.js} +1 -1
- package/dist/client/assets/{oauth-callback-Dz0IDrwc.js → oauth-callback-CsPyZ3bv.js} +1 -1
- package/dist/client/assets/{page-B20oyWAL.js → page-BGclLydc.js} +1 -1
- package/dist/client/assets/{page-COrqn5gB.js → page-BWVa1qSI.js} +1 -1
- package/dist/client/assets/{plugin-empty-state-BFvuO_ih.js → plugin-empty-state-BXMB-ve6.js} +1 -1
- package/dist/client/assets/{plugin-empty-state-amtzTfj5.js → plugin-empty-state-aV5T7nJZ.js} +1 -1
- package/dist/client/assets/{plugin-header-Ck-AR7F4.js → plugin-header-CMg87EDN.js} +1 -1
- package/dist/client/assets/{plugin-header-BBKvfeNU.js → plugin-header-DorQWEZ4.js} +1 -1
- package/dist/client/assets/plugins-BYjlWQ4G.js +1 -0
- package/dist/client/assets/{popover-abKtRKyZ.js → popover-DMD8_Cbp.js} +1 -1
- package/dist/client/assets/{project-app-view-4HfAYNAZ.js → project-app-view-BucEC3T-.js} +1 -1
- package/dist/client/assets/{project-layout-CabGF5OL.js → project-layout-DdxzQdxw.js} +1 -1
- package/dist/client/assets/{project-plugins-Cj7LCQq3.js → project-plugins-FyEUKPb1.js} +1 -1
- package/dist/client/assets/{projects-list-BGSS1A6G.js → projects-list-lWISZLY6.js} +1 -1
- package/dist/client/assets/{readme-viewer-CZC-Af79.js → readme-viewer-BRyijqWE.js} +1 -1
- package/dist/client/assets/{registry-layout-1no55Xfs.js → registry-layout-A5khdaYw.js} +1 -1
- package/dist/client/assets/{registry-utils-BKh1htsU.js → registry-utils-sGbNqghw.js} +1 -1
- package/dist/client/assets/{reports-layout-ClnQzTBD.js → reports-layout-Ds-X2DgZ.js} +1 -1
- package/dist/client/assets/{reset-password-_UXSoKqO.js → reset-password-DUyo7dJf.js} +1 -1
- package/dist/client/assets/{resizable-CRr1U4c3.js → resizable-DLaWW8z1.js} +1 -1
- package/dist/client/assets/{save-actions-DIgvk5ux.js → save-actions-KKLUna-U.js} +1 -1
- package/dist/client/assets/{scroll-area-CW7MZrxV.js → scroll-area-uvPGOSmX.js} +1 -1
- package/dist/client/assets/{select-CHbDIpjW.js → select-DhCocnGM.js} +1 -1
- package/dist/client/assets/{shell-layout-BcxWQVeI.js → shell-layout-CUgayftW.js} +2 -2
- package/dist/client/assets/{sidebar-settings-Bcsu8-RD.js → sidebar-settings-DWw0y5k_.js} +1 -1
- package/dist/client/assets/{skeleton-BnHZ2SKu.js → skeleton-LSt15V1C.js} +1 -1
- package/dist/client/assets/{spinner-BA1OKCJn.js → spinner-CI9QBd79.js} +1 -1
- package/dist/client/assets/{store-invite-igZB1w5t.js → store-invite-CFRAOscU.js} +1 -1
- package/dist/client/assets/{switch-CEp85hk1.js → switch-CsOlnIJv.js} +1 -1
- package/dist/client/assets/{table-FycIVL0n.js → table-xcvICYfC.js} +1 -1
- package/dist/client/assets/{tabs-eovXpXHz.js → tabs-d2vBhIp6.js} +1 -1
- package/dist/client/assets/tasks-CoQZ2sIy.js +1 -0
- package/dist/client/assets/{tasks-panel-BvevXbhl.js → tasks-panel-bZwhdQBY.js} +1 -1
- package/dist/client/assets/{textarea-xLi2sLqg.js → textarea-CqsgYI_z.js} +1 -1
- package/dist/client/assets/{time-range-picker-BlOSKVgs.js → time-range-picker-CnM7cuGo.js} +1 -1
- package/dist/client/assets/{toggle-group-CaTS_Qlx.js → toggle-group-BrCJ8OSl.js} +1 -1
- package/dist/client/assets/{tools-list-DtBpx3vZ.js → tools-list-BJgQvAAh.js} +1 -1
- package/dist/client/assets/{tooltip-BgxYg-1x.js → tooltip-B-2Ty_iR.js} +1 -1
- package/dist/client/assets/{topbar-portal-CSUXfJuZ.js → topbar-portal-CVzUAi-D.js} +1 -1
- package/dist/client/assets/{types-DtFKQumZ.js → types-DiJR_Oxi.js} +1 -1
- package/dist/client/assets/{use-binding-BakZcpgb.js → use-binding-CHcWA4CU.js} +1 -1
- package/dist/client/assets/{use-collections-Dn1-4HmN.js → use-collections-C8v6HwyA.js} +1 -1
- package/dist/client/assets/{use-connection-lSmwmnH7.js → use-connection-CkLGBugg.js} +1 -1
- package/dist/client/assets/{use-copy-Bomw0PO-.js → use-copy-BNKFNH2y.js} +1 -1
- package/dist/client/assets/{use-create-virtual-mcp-BCc2b51u.js → use-create-virtual-mcp-BvTxfE8g.js} +1 -1
- package/dist/client/assets/{use-install-from-registry-DNLztiY9.js → use-install-from-registry-rEwcMxvA.js} +1 -1
- package/dist/client/assets/{use-list-state-DsP3P__2.js → use-list-state-Dt9uCsOl.js} +1 -1
- package/dist/client/assets/{use-llm-CaWI-EbM.js → use-llm-CfPWCeJ7.js} +1 -1
- package/dist/client/assets/{use-mcp-prompts-DgbJlfFv.js → use-mcp-prompts-DJolbe2G.js} +1 -1
- package/dist/client/assets/{use-mcp-tools-DnT4wYwM.js → use-mcp-tools-_SrEx2Yc.js} +1 -1
- package/dist/client/assets/{use-members-BeqtA6Mf.js → use-members-Bg7suFno.js} +1 -1
- package/dist/client/assets/{use-mobile-DvJypPyV.js → use-mobile-Ccj9Yl8E.js} +1 -1
- package/dist/client/assets/{use-preferences-BtbUN2Ab.js → use-preferences-CBTWTfUK.js} +1 -1
- package/dist/client/assets/{use-project-C6Plluwk.js → use-project-O2tBNyfQ.js} +1 -1
- package/dist/client/assets/{use-settings-modal-BYuaItl2.js → use-settings-modal-Cb5fjZOk.js} +1 -1
- package/dist/client/assets/{use-view-mode-DlkH6B2z.js → use-view-mode-DltmabmA.js} +1 -1
- package/dist/client/assets/{use-virtual-mcp-Cd9Q7Ljj.js → use-virtual-mcp-CelTUOdD.js} +1 -1
- package/dist/client/assets/useInfiniteQuery-7fuF9QDV.js +1 -0
- package/dist/client/assets/{useMutation-T3cHavFN.js → useMutation-BLMqKfMt.js} +1 -1
- package/dist/client/assets/useQuery-BtUsJRrm.js +1 -0
- package/dist/client/assets/useSuspenseInfiniteQuery-BB0K0DXv.js +1 -0
- package/dist/client/assets/{user-CVY-7wwJ.js → user-BIDniHYV.js} +1 -1
- package/dist/client/assets/{workflow-JfVjNsvD.js → workflow-BPBBOx7S.js} +1 -1
- package/dist/client/index.html +1 -1
- package/dist/server/cli.js +2 -2
- package/dist/server/migrate.js +1 -1
- package/dist/server/server.js +2 -2
- package/package.json +1 -1
- package/dist/client/assets/constants-8yG-REbY.js +0 -1
- package/dist/client/assets/plugins-BL4zfVGs.js +0 -1
- package/dist/client/assets/tasks-zO_D9agi.js +0 -1
- package/dist/client/assets/useInfiniteQuery-DlMqKbZ8.js +0 -1
- package/dist/client/assets/useQuery-CrhfJFci.js +0 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-D7mXok6B.js +0 -1
package/dist/server/server.js
CHANGED
|
@@ -1792,7 +1792,7 @@ ${X.stack}`;return W}}catch{}if(typeof X.toString==="function")try{let W=X.toStr
|
|
|
1792
1792
|
};
|
|
1793
1793
|
`,$=await Pu({code:H,tools:K,timeoutMs:30000});if($.error)return{content:[{type:"text",text:`Virtual tool error: ${$.error}`}],isError:!0};return{content:[{type:"text",text:JSON.stringify($.returnValue??null)}]}}catch(Q){return{content:[{type:"text",text:`Virtual tool execution failed: ${Q instanceof Error?Q.message:String(Q)}`}],isError:!0}}}async listResources(){return{resources:(await this._cachedResources).data}}async readResource(Y){let X=await this._cachedResources,J=this._clients,G=X.mappings.get(Y.uri);if(!G)throw Error(`Resource not found: ${Y.uri}`);let W=J.get(G);if(!W)throw Error(`Connection not found for resource: ${Y.uri}`);return await W.readResource(Y)}async listPrompts(){return{prompts:(await this._cachedPrompts).data}}async getPrompt(Y){let X=await this._cachedPrompts,J=this._clients,G=X.mappings.get(Y.name);if(!G)throw Error(`Prompt not found: ${Y.name}`);let W=J.get(G);if(!W)throw Error(`Connection not found for prompt: ${Y.name}`);return await W.getPrompt(Y)}async callStreamableTool(Y,X){let J=await this._cachedTools,G=this._clients,W=J.mappings.get(Y);if(W){let K=G.get(W);if(K&&"callStreamableTool"in K)return K.callStreamableTool(Y,X)}let Z=await this.callTool({name:Y,arguments:X});return new Response(JSON.stringify(Z),{headers:{"Content-Type":"application/json"}})}async[Symbol.asyncDispose](){await TG6(this._clients)}async close(){await TG6(this._clients),await super.close()}getInstructions(){return this.options.virtualMcp.metadata?.instructions??void 0}}});var CG6,LX8,jG6,NX8,fu;var Ok1=b(()=>{d0();BA();Dk1();CG6=B.object({query:B.string().min(1).describe("Search query to find tools by name or description"),limit:B.number().default(10).describe("Maximum number of results to return")}),LX8=B.toJSONSchema(CG6),jG6=B.object({tools:B.array(B.string()).min(1).describe("Array of tool names to get detailed schemas for")}),NX8=B.toJSONSchema(jG6);fu=class fu extends ej{constructor(Y,X){super(Y,X)}getSearchTool(Y){return{name:"GATEWAY_SEARCH_TOOLS",description:`Search for available tools by name or description. Returns tool names and brief descriptions without full schemas. Use this to discover tools before calling GATEWAY_DESCRIBE_TOOLS for detailed schemas. Total tools: ${Y}.`,inputSchema:LX8,annotations:{title:"Search Tools",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1}}}getDescribeTool(){return{name:"GATEWAY_DESCRIBE_TOOLS",description:"Get detailed schemas for specific tools. Call after GATEWAY_SEARCH_TOOLS to get full input/output schemas.",inputSchema:NX8,annotations:{title:"Describe Tools",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1}}}async handleSearch(Y){let X=CG6.safeParse(Y);if(!X.success)return NO({error:X.error.flatten()});let J=await this._cachedTools,G=pU(J.data),W=I91(X.data.query,G,X.data.limit);return Eu({query:X.data.query,results:W.map((Z)=>({name:Z.name,description:Z.description,connection:Z._meta.connectionTitle})),totalAvailable:G.length})}async handleDescribe(Y){let X=jG6.safeParse(Y);if(!X.success)return NO({error:X.error.flatten()});let J=await this._cachedTools,G=pU(J.data),W=S91(X.data.tools,G);return Eu({tools:W.tools,notFound:W.notFound})}async listTools(){let Y=await this._cachedTools,X=pU(Y.data);return{tools:[this.getSearchTool(X.length),this.getDescribeTool()]}}async callTool(Y){if(Y.name==="GATEWAY_SEARCH_TOOLS")return this.handleSearch(Y.arguments??{});if(Y.name==="GATEWAY_DESCRIBE_TOOLS")return this.handleDescribe(Y.arguments??{});return{content:[{type:"text",text:`Unknown tool: ${Y.name}. Available: GATEWAY_SEARCH_TOOLS, GATEWAY_DESCRIBE_TOOLS`}],isError:!0}}async routeToolCall(Y){return ej.prototype.callTool.call(this,Y)}}});var IG6,MX8,Lk1;var SG6=b(()=>{d0();BA();Ok1();IG6=B.object({code:B.string().min(1).describe("JavaScript code to execute. It runs as an async function body; you can use top-level `return` and `await`."),timeoutMs:B.number().default(3000).describe("Max execution time in milliseconds (default: 3000).")}),MX8=B.toJSONSchema(IG6);Lk1=class Lk1 extends fu{constructor(Y,X){super(Y,X)}getRunCodeTool(){return{name:"GATEWAY_RUN_CODE",description:'Run JavaScript code in a sandbox. Code must be an ES module that `export default`s an async function that receives (tools) as its first parameter. Use GATEWAY_DESCRIBE_TOOLS to understand the input/output schemas for a tool before calling it. Use `await tools.toolName(args)` or `await tools["tool-name"](args)` to call tools.',inputSchema:MX8,annotations:{title:"Run Code",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!0}}}async handleRunCode(Y){let X=IG6.safeParse(Y);if(!X.success)return NO({error:X.error.flatten()});let J=await this._cachedTools,W={tools:pU(J.data),callTool:async(K,Q)=>{return this.routeToolCall({name:K,arguments:Q})}},Z=await k91(X.data.code,W,X.data.timeoutMs);if(Z.error)return NO(Z);return Eu(Z)}async listTools(){return{tools:[...(await super.listTools()).tools,this.getRunCodeTool()]}}async callTool(Y){if(Y.name==="GATEWAY_RUN_CODE")return this.handleRunCode(Y.arguments??{});return super.callTool(Y)}}});function _G6(Y){let X=Y.slice().sort().join(","),J=kG6.get(X);if(!J){let G=B.object({name:(Y.length>0?B.enum(Y):B.string()).describe("The name of the tool to execute"),arguments:B.record(B.string(),B.unknown()).default({}).describe("Arguments to pass to the tool")});J={schema:G,jsonSchema:B.toJSONSchema(G)},kG6.set(X,J)}return J}var kG6,Nk1;var vG6=b(()=>{d0();BA();Ok1();kG6=new Map;Nk1=class Nk1 extends fu{constructor(Y,X){super(Y,X)}async getCallTool(){let Y=await this._cachedTools,J=pU(Y.data).map((W)=>W.name),{jsonSchema:G}=_G6(J);return{name:"GATEWAY_CALL_TOOL",description:"Execute a tool by name. Use GATEWAY_DESCRIBE_TOOLS first to understand the input schema.",inputSchema:G,annotations:{title:"Call Tool",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!0}}}async handleCallTool(Y){let X=await this._cachedTools,J=pU(X.data),G=J.map(($)=>$.name),{schema:W}=_G6(G),Z=W.safeParse(Y);if(!Z.success)return NO({error:Z.error.flatten()});let{name:K,arguments:Q}=Z.data;if(!new Map(J.map(($)=>[$.name,$])).has(K))return{content:[{type:"text",text:`Tool not found: ${K}. Use GATEWAY_SEARCH_TOOLS to find available tools.`}],isError:!0};return this.routeToolCall({name:K,arguments:Q})}async listTools(){let Y=await super.listTools(),X=await this.getCallTool();return{tools:[...Y.tools,X]}}async callTool(Y){if(Y.name==="GATEWAY_CALL_TOOL")return this.handleCallTool(Y.arguments??{});return super.callTool(Y)}}});function Mk1(Y){switch(Y){case"smart_tool_selection":return"smart_tool_selection";case"code_execution":return"code_execution";case"passthrough":default:return"passthrough"}}function wX8(Y,X){if(Y.connection_type!=="VIRTUAL")return!1;if(!X||$z(X))return!1;return Y.id===X}async function fG6(Y,X,J=!1){let G=Y.id,W=await X.storage.virtualMcps.findById(G);if(!W)throw Error(`Virtual MCP not found: ${G}`);return AO(W,X,"passthrough",J)}async function AO(Y,X,J,G=!1){let Z=Y.connections.map((V)=>V.connection_id).map((V)=>X.storage.connections.findById(V)),K=Y.id?await X.storage.connections.findById(Y.id):null,Q=await Promise.all(Z),H=[];if(K?.tools){for(let V of K.tools)if(wO(V))H.push(V)}let F={connections:Q.filter((V)=>V!==null&&V.status==="active"&&!wX8(V,Y.id)),virtualMcp:Y,virtualTools:H.length>0?H:void 0,superUser:G};return J==="smart_tool_selection"?new Nk1(F,X):J==="code_execution"?new Lk1(F,X):new ej(F,X)}var yu=b(()=>{XX();rU();SG6();Dk1();vG6()});async function PW(Y,X,J=!1){if(Y.connection_type==="VIRTUAL")return fG6(Y,X,J);return MG6(Y,X,J)}var wk1=b(()=>{wG6();yu()});async function Ak1(Y,X,J){let G=await PW(Y,X,J),W=iN(G,{name:"mcp-mesh-enhanced",version:"1.0.0"},{capabilities:AX8,instructions:G.getInstructions()});return W.server.setRequestHandler($B,async()=>{return await G.listResources().catch(OA({resources:[]}))}),W.server.setRequestHandler(FB,async()=>{return await G.listResourceTemplates().catch(OA({resourceTemplates:[]}))}),W.server.setRequestHandler(VB,async()=>{return await G.listPrompts().catch(OA({prompts:[]}))}),W}var AX8;var yG6=b(()=>{XX();u5();wk1();Bk1();AX8={tools:{},resources:{},prompts:{}}});function Pk1(Y,X,J){let G=Y.listTools.bind(Y),W=async()=>{let Z=X.connection_type==="VIRTUAL";if(!Z&&X.tools&&X.tools.length>0)return{tools:X.tools.map((Q)=>({name:Q.name,description:Q.description,inputSchema:Q.inputSchema,outputSchema:Q.outputSchema,annotations:Q.annotations,_meta:Q._meta}))};if(!Z&&J){let Q=await J.get(X.id);if(Q)return{tools:Q}}let K=await G();if(!Z&&J&&K.tools.length>0)J.set(X.id,K.tools).catch(()=>{});return K};return Y.listTools=W,Y}function PX8(Y,X,J){return async(G,W)=>{try{let Z=G.params.name,K=async()=>{let{tools:H}=await J();return H.find((F)=>F.name===Z)?._meta};return await new aU(Y.authInstance,Y.auth.user?.id??Y.auth.apiKey?.userId,Z,Y.boundAuth,Y.auth.user?.role,X,K).check(Z),await W()}catch(Z){return new Response(JSON.stringify({error:`Authorization failed: ${Z.message}`}),{status:403,headers:{"Content-Type":"application/json"}})}}}function LA(Y,X,J,G,W){let Z=async(Q,H)=>{if(J.connection_type==="VIRTUAL"){let U=await Y.callTool({name:Q,arguments:H});return new Response(JSON.stringify(U),{headers:{"Content-Type":"application/json"}})}if(!J.connection_url)throw Error("Streamable tools require HTTP connection with URL");let $=J.connection_url,F={method:"tools/call",params:{name:Q,arguments:H}};if(!W.superUser){let q=await PX8(G,X,Y.listTools.bind(Y))(F,async()=>{return new Response});if(!q.ok)return q}let V=G.connectionId&&G.connectionId!==X?G.connectionId:void 0;return OG6({ctx:G,enabled:uu0().enabled,connectionId:X,connectionTitle:J.title,virtualMcpId:V})(F,async()=>{let U=await ju(J,G,W.superUser),q=J.connection_headers;if(q&&"headers"in q)Object.assign(U,q.headers);let D=new URL($);D.pathname=D.pathname.replace(/\/$/,"")+`/call-tool/${F.params.name}`;let L=JSON.parse(JSON.stringify(F.params.arguments,(N,R)=>{if(R instanceof AbortSignal)return;if(typeof R==="function"||typeof R==="symbol")return;if(R===void 0)return;return R})),w=JSON.stringify(L);return await G.tracer.startActiveSpan("mcp.proxy.callStreamableTool",{attributes:{"connection.id":X,"tool.name":F.params.name,"request.id":G.metadata.requestId}},async(N)=>{let R=Date.now();try{let P=await fetch(D.toString(),{method:"POST",redirect:"manual",body:w,headers:{...U,"Content-Type":"application/json"}}),A=Date.now()-R;return G.meter.createHistogram("connection.proxy.streamable.duration").record(A,{"connection.id":X,"tool.name":F.params.name,status:P.ok?"success":"error"}),G.meter.createCounter("connection.proxy.streamable.requests").add(1,{"connection.id":X,"tool.name":F.params.name,status:P.ok?"success":"error"}),N.end(),P}catch(P){let A=P,E=Date.now()-R;throw console.error("[with-streaming-support] fetch error",{connectionId:X,toolName:F.params.name,error:A.message,errorStack:A.stack,duration:E}),G.meter.createHistogram("connection.proxy.streamable.duration").record(E,{"connection.id":X,"tool.name":F.params.name,status:"error"}),G.meter.createCounter("connection.proxy.streamable.errors").add(1,{"connection.id":X,"tool.name":F.params.name,error:A.message}),N.recordException(A),N.end(),P}})})},K=Object.assign(Object.create(Object.getPrototypeOf(Y)),Y);return K.callStreamableTool=Z,K}var bG6=b(()=>{Zk1();ku();z01();Uk1()});var hG6=b(()=>{bG6()});var YI=b(()=>{wk1();yG6();hG6()});function xG6(Y,X,J){if(X.some((G)=>G!=="*"&&G.startsWith("SELF::"))&&Y.SELF===void 0)Y.SELF={value:`${J}_self`}}async function TX8(Y,X,J,G){for(let Z of X){if(Z==="*")continue;let[K]=WG6(Z),Q=b91(K,Y);if(Q===void 0||Q===null)throw Error(`Scope references key "${K}" but it's not present in state`)}let W=ZG6(Y,X);for(let Z of W){if(Z.endsWith("_self"))continue;let K=await G.storage.connections.findById(Z);if(!K||K.organization_id!==J)throw Error(`Referenced connection not found: ${Z}`);try{await G.access.check(Z)}catch(Q){throw Error(`Access denied to referenced connection: ${Z}. ${Q.message}`)}}}var EX8,RX8,Ek1;var gG6=b(()=>{Gk1();YI();h91();d0();J4();s01();$U();EX8=B.object({id:B.string().describe("ID of the connection to update"),data:Tf.describe("Partial connection data to update")}),RX8=B.object({item:mG.describe("The updated connection entity")});Ek1=n0({name:"COLLECTION_CONNECTIONS_UPDATE",description:"Update an existing MCP connection in the organization",annotations:{title:"Update Connection",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:EX8,outputSchema:RX8,handler:async(Y,X)=>{H6(X);let J=B6(X);await X.access.check();let G=vX(X);if(!G)throw Error("User ID required to update connection");let{id:W,data:Z}=Y,K=await X.storage.connections.findById(W);if(!K||K.organization_id!==J.id)throw Error("Connection not found in organization");let Q=Z.connection_type??K.connection_type,H=Z.connection_url??K.connection_url;if(Q==="VIRTUAL"){let L=pN(H);if(!L)throw Error("VIRTUAL connection requires connection_url in format: virtual://$virtual_mcp_id");let w=await X.storage.virtualMcps.findById(L);if(!w)throw Error(`Virtual MCP not found: ${L}`);if(w.organization_id!==J.id)throw Error("Virtual MCP does not belong to the current organization");H=nN(L)}let $=Z.configuration_state??K.configuration_state??{},F=Z.configuration_scopes??K.configuration_scopes??[];if(Z.configuration_state!==void 0||Z.configuration_scopes!==void 0){if(Z.configuration_state!==void 0)$=Z.configuration_state??{};else if($===null||$===void 0)$={};if(Z.configuration_scopes!==void 0)F=Z.configuration_scopes??[];if(F.length>0){let L=$;xG6(L,F,J.id),await TX8(L,F,J.id,X)}}let V=Z.connection_token??K.connection_token;if(!V)try{let w=await new iU(X.db,X.vault).get(W);if(w?.accessToken)V=w.accessToken}catch{}let z=await QC({id:K.id,title:Z.title??K.title,connection_type:Q,connection_url:H,connection_token:V,connection_headers:Z.connection_headers??K.connection_headers}).catch(()=>null),U=z?.tools?.length?z.tools:null;if(Z.configuration_scopes===void 0&&z?.scopes?.length)F=z.scopes;xG6($,F,J.id);let q={...Z,connection_url:H,tools:U,configuration_state:$,configuration_scopes:F,updated_by:G},D=await X.storage.connections.update(W,q);if((Z.configuration_state!==void 0||Z.configuration_scopes!==void 0)&&$&&F)try{await(await PW(D,X,!1)).callTool({name:"ON_MCP_CONFIGURATION",arguments:{state:$,scopes:F}})}catch(L){console.error("Failed to invoke ON_MCP_CONFIGURATION callback",L)}return{item:D}}})});var CX8,Rk1;var uG6=b(()=>{MZ();d0();J4();$U();CX8=rx.extend({force:B.boolean().optional().describe("If true, removes this connection from all agents that reference it before deleting")}),Rk1=n0({name:"COLLECTION_CONNECTIONS_DELETE",description:"Delete a connection",annotations:{title:"Delete Connection",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:CX8,outputSchema:ox(mG),handler:async(Y,X)=>{H6(X);let J=B6(X);await X.access.check();let G=await X.storage.connections.findById(Y.id);if(!G)throw Error(`Connection not found: ${Y.id}`);if(G.organization_id!==J.id)throw Error("Connection not found in organization");if(G.metadata?.isFixed===!0)throw Error("This connection is a fixed system connection and cannot be deleted");let Z=await X.storage.virtualMcps.listByConnectionId(J.id,Y.id);if(Z.length>0)if(Y.force)await X.storage.virtualMcps.removeConnectionReferences(Y.id);else throw Error(JSON.stringify({code:"CONNECTION_IN_USE",agentNames:Z.map((K)=>K.title)}));return await X.storage.connections.delete(Y.id),{item:G}}})});var Tk1;var mG6=b(()=>{d0();J4();Tk1=n0({name:"CONNECTION_TEST",description:"Test connection health and latency",annotations:{title:"Test Connection",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!0},inputSchema:B.object({id:B.string()}),outputSchema:B.object({id:B.string(),healthy:B.boolean(),latencyMs:B.number()}),handler:async(Y,X)=>{let J=B6(X);await X.access.check();let G=await X.storage.connections.findById(Y.id);if(!G||G.organization_id!==J.id)throw Error("Connection not found");let W=await X.storage.connections.testConnection(Y.id);return{id:Y.id,...W}}})});var lG6=b(()=>{r76();JG6();GG6();gG6();uG6();mG6()});function dG6(Y){if(Y===null||Y===void 0)return"NULL";if(typeof Y==="number")return String(Y);if(typeof Y==="boolean")return Y?"TRUE":"FALSE";if(typeof Y==="string")return`'${Y.replace(/'/g,"''")}'`;if(Y instanceof Date)return`'${Y.toISOString()}'`;return`'${JSON.stringify(Y).replace(/'/g,"''")}'`}function SX8(Y,X){let J=Y;for(let W=X.length;W>=1;W--){let Z=`$${W}`;if(J.includes(Z))J=J.replaceAll(Z,dG6(X[W-1]))}let G=[];for(let W=0;W<J.length;W++)if(J[W]==="?")G.push(W);for(let W=Math.min(G.length,X.length)-1;W>=0;W--){let Z=G[W],K=dG6(X[W]);J=J.slice(0,Z)+K+J.slice(Z+1)}return J}function cG6(Y){return Y.replace(/-/g,"_")}function _X8(Y){return`app_${cG6(Y)}`}function vX8(Y){return`app_role_${cG6(Y)}`}function fX8(Y){if(Y instanceof Error){let X=Y.message.toLowerCase(),J=Y.code;return J==="3F000"||J==="42704"||J==="22023"||X.includes("schema")&&X.includes("does not exist")||X.includes("role")&&X.includes("does not exist")}return!1}async function yX8(Y,X,J){if(await N6`CREATE SCHEMA IF NOT EXISTS ${N6.id(X)}`.execute(Y),!(await N6`
|
|
1794
1794
|
SELECT EXISTS (SELECT 1 FROM pg_roles WHERE rolname = ${J}) as exists
|
|
1795
|
-
`.execute(Y)).rows[0]?.exists)await N6`CREATE ROLE ${N6.id(J)} NOLOGIN`.execute(Y);await N6`GRANT ${N6.id(J)} TO CURRENT_USER`.execute(Y),await N6`GRANT USAGE, CREATE ON SCHEMA ${N6.id(X)} TO ${N6.id(J)}`.execute(Y),await N6`GRANT ALL ON ALL TABLES IN SCHEMA ${N6.id(X)} TO ${N6.id(J)}`.execute(Y),await N6`GRANT ALL ON ALL SEQUENCES IN SCHEMA ${N6.id(X)} TO ${N6.id(J)}`.execute(Y),await N6`ALTER DEFAULT PRIVILEGES IN SCHEMA ${N6.id(X)} GRANT ALL ON TABLES TO ${N6.id(J)}`.execute(Y),await N6`ALTER DEFAULT PRIVILEGES IN SCHEMA ${N6.id(X)} GRANT ALL ON SEQUENCES TO ${N6.id(J)}`.execute(Y),await N6`REVOKE ALL ON SCHEMA public FROM ${N6.id(J)}`.execute(Y)}async function bX8(Y,X,J,G){try{return await Y.transaction().execute(async(W)=>{return await N6`SET LOCAL ROLE ${N6.id(J)}`.execute(W),await N6`SET LOCAL search_path TO ${N6.id(X)}`.execute(W),await N6.raw(G).execute(W)})}catch(W){if(fX8(W))return await yX8(Y,X,J),await Y.transaction().execute(async(Z)=>{return await N6`SET LOCAL ROLE ${N6.id(J)}`.execute(Z),await N6`SET LOCAL search_path TO ${N6.id(X)}`.execute(Z),await N6.raw(G).execute(Z)});throw W}}var IX8,kX8,pG6;var nG6=b(()=>{r7();d0();J4();IX8=B.object({results:B.array(B.unknown()).optional(),success:B.boolean().optional()});kX8=B.object({sql:B.string().describe("The SQL query to run"),params:B.array(B.any()).describe("The parameters to pass to the SQL query").optional()});pG6=n0({name:"DATABASES_RUN_SQL",description:"Run a SQL query against the database",annotations:{title:"Run SQL Query",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:kX8,outputSchema:B.object({result:B.array(IX8)}),handler:async(Y,X)=>{H6(X),await X.access.check();let J=SX8(Y.sql,Y.params||[]);if(!X.connectionId)throw Error("Connection context required for database access");let G=_X8(X.connectionId),W=vX8(X.connectionId);return{result:[{results:(await bX8(X.db,G,W,J)).rows,success:!0}]}}})});var iG6,xX8,aG6;var oU=b(()=>{d0();Vg();iG6=B.object({connectionId:B.string().optional().describe("Filter subscriptions by connection ID (optional)")}),xX8=B.object({id:B.string().describe("Subscription ID"),connectionId:B.string().describe("Subscriber connection ID"),eventType:B.string().describe("Event type pattern"),publisher:B.string().nullable().describe("Publisher connection filter (null = all publishers)"),filter:B.string().nullable().describe("JSONPath filter expression"),enabled:B.boolean().describe("Whether subscription is enabled"),createdAt:B.string().datetime().describe("Created timestamp (ISO 8601)"),updatedAt:B.string().datetime().describe("Updated timestamp (ISO 8601)")}),aG6=B.object({subscriptions:B.array(xX8).describe("List of subscriptions")})});var Ck1;var rG6=b(()=>{J4();oU();Ck1=n0({name:"EVENT_PUBLISH",description:"Publish an event to the event bus. Supports immediate, scheduled (deliverAt), and recurring (cron) delivery. The source is automatically set to the caller's connection ID.",annotations:{title:"Publish Event",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1,openWorldHint:!1},inputSchema:sx,outputSchema:tx,handler:async(Y,X)=>{H6(X);let J=B6(X);await X.access.check();let G=X.connectionId;if(!G)throw Error("Connection ID required to publish events. Use a connection-scoped token.");let W=await X.eventBus.publish(J.id,G,{type:Y.type,subject:Y.subject,data:Y.data,deliverAt:Y.deliverAt,cron:Y.cron});return{id:W.id,type:W.type,source:W.source,time:W.time}}})});var jk1;var oG6=b(()=>{J4();oU();jk1=n0({name:"EVENT_SUBSCRIBE",description:"Subscribe to events of a specific type. The subscriber is automatically set to the caller's connection.",annotations:{title:"Subscribe to Events",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:ex,outputSchema:Yg,handler:async(Y,X)=>{H6(X);let J=B6(X);await X.access.check();let G=X.connectionId;if(!G)throw Error("Connection ID required to subscribe. Use a connection-scoped token.");let W=await X.eventBus.subscribe(J.id,{connectionId:G,eventType:Y.eventType,publisher:Y.publisher,filter:Y.filter});return{subscription:{id:W.id,connectionId:W.connectionId,eventType:W.eventType,publisher:W.publisher,filter:W.filter,enabled:W.enabled,createdAt:W.createdAt instanceof Date?W.createdAt.toISOString():W.createdAt,updatedAt:W.updatedAt instanceof Date?W.updatedAt.toISOString():W.updatedAt}}}})});var Ik1;var sG6=b(()=>{J4();oU();Ik1=n0({name:"EVENT_UNSUBSCRIBE",description:"Unsubscribe from events by removing a subscription.",annotations:{title:"Unsubscribe from Events",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:Gg,outputSchema:Wg,handler:async(Y,X)=>{H6(X);let J=B6(X);await X.access.check();let G=X.connectionId;if(!G)throw Error("Connection ID required to unsubscribe. Use a connection-scoped token.");let W=await X.eventBus.getSubscription(J.id,Y.subscriptionId);if(!W)throw Error(`Subscription not found: ${Y.subscriptionId}`);if(W.connectionId!==G)throw Error("Cannot unsubscribe from a subscription owned by another connection");return{success:(await X.eventBus.unsubscribe(J.id,Y.subscriptionId)).success,subscriptionId:Y.subscriptionId}}})});var Sk1;var tG6=b(()=>{J4();oU();Sk1=n0({name:"EVENT_CANCEL",description:"Cancel a recurring event to stop future deliveries. Only the publisher can cancel their own events.",annotations:{title:"Cancel Recurring Event",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:Zg,outputSchema:Qg,handler:async(Y,X)=>{H6(X);let J=B6(X);await X.access.check();let G=X.connectionId;if(!G)throw Error("Connection ID required to cancel events. Use a connection-scoped token.");if(!await X.eventBus.getEvent(J.id,Y.eventId))throw Error(`Event not found: ${Y.eventId}`);if(!(await X.eventBus.cancelEvent(J.id,Y.eventId,G)).success)throw Error("Failed to cancel event. Either the event is already completed/failed, or you are not the publisher.");return{success:!0,eventId:Y.eventId}}})});var kk1;var eG6=b(()=>{J4();oU();kk1=n0({name:"EVENT_ACK",description:"Acknowledge delivery of an event. Call after successfully processing an event received via ON_EVENTS with retryAfter.",annotations:{title:"Acknowledge Event",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:Kg,outputSchema:Hg,handler:async(Y,X)=>{H6(X);let J=B6(X);await X.access.check();let G=X.connectionId;if(!G)throw Error("Connection ID required to acknowledge events. Use a connection-scoped token.");if(!(await X.eventBus.ackEvent(J.id,Y.eventId,G)).success)throw Error("Failed to acknowledge event. Either the event was not found, already delivered, or you are not a subscriber.");return{success:!0,eventId:Y.eventId}}})});var _k1;var YW6=b(()=>{J4();oU();_k1=n0({name:"EVENT_SUBSCRIPTION_LIST",description:"List event subscriptions, optionally filtered by connection ID.",annotations:{title:"List Event Subscriptions",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:iG6,outputSchema:aG6,handler:async(Y,X)=>{H6(X);let J=B6(X);return await X.access.check(),{subscriptions:(await X.eventBus.listSubscriptions(J.id,Y.connectionId)).map((W)=>({id:W.id,connectionId:W.connectionId,eventType:W.eventType,publisher:W.publisher,filter:W.filter,enabled:W.enabled,createdAt:W.createdAt instanceof Date?W.createdAt.toISOString():W.createdAt,updatedAt:W.updatedAt instanceof Date?W.updatedAt.toISOString():W.updatedAt}))}}})});var vk1;var XW6=b(()=>{J4();oU();vk1=n0({name:"EVENT_SYNC_SUBSCRIPTIONS",description:"Sync subscriptions to desired state. Creates new, deletes removed, updates changed filters. Subscriptions are identified by (eventType, publisher).",annotations:{title:"Sync Event Subscriptions",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:Xg,outputSchema:Jg,handler:async(Y,X)=>{H6(X);let J=B6(X);await X.access.check();let G=X.connectionId;if(!G)throw Error("Connection ID required to sync subscriptions. Use a connection-scoped token.");let W=await X.eventBus.syncSubscriptions(J.id,{connectionId:G,subscriptions:Y.subscriptions});return{created:W.created,updated:W.updated,deleted:W.deleted,unchanged:W.unchanged,subscriptions:W.subscriptions.map((Z)=>({id:Z.id,connectionId:Z.connectionId,eventType:Z.eventType,publisher:Z.publisher,filter:Z.filter,enabled:Z.enabled,createdAt:Z.createdAt instanceof Date?Z.createdAt.toISOString():Z.createdAt,updatedAt:Z.updatedAt instanceof Date?Z.updatedAt.toISOString():Z.updatedAt}))}}})});var JW6=b(()=>{rG6();oG6();sG6();tG6();eG6();YW6();XW6();oU()});var XI=b(()=>{bo()});function GW6(){return`/icons/capy-${Math.floor(Math.random()*39)+0}.png`}var uX8,mX8,fk1;var WW6=b(()=>{d0();J4();XI();uX8=B.object({data:jf.describe("Data for the new virtual MCP")}),mX8=B.object({item:cZ.describe("The created virtual MCP entity")}),fk1=n0({name:"COLLECTION_VIRTUAL_MCP_CREATE",description:"Create a new Virtual MCP",annotations:{title:"Create Virtual MCP",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:uX8,outputSchema:mX8,handler:async(Y,X)=>{H6(X);let J=B6(X);await X.access.check();let G=vX(X);if(!G)throw Error("User ID required to create virtual MCP");let W={...Y.data,icon:Y.data.icon??GW6()};return{item:await X.storage.virtualMcps.create(J.id,G,W)}}})});function lX8(Y){let X=[],J=0;while(J<Y.length){let G=Y[J];if(G==="%")X.push(".*");else if(G==="_")X.push(".");else if(/[.*+?^${}()|[\]\\]/.test(G))X.push("\\"+G);else X.push(G);J++}return X.join("")}function PO(Y){return typeof Y==="string"||typeof Y==="number"}function yk1(Y,X){let J=X.split("."),G=Y;for(let W of J){if(G==null||typeof G!=="object")return;G=G[W]}return G}function dX8(Y,X){return Y.connections.some((J)=>J.connection_id===X)}function l91(Y,X){if("conditions"in X){let{operator:Q,conditions:H}=X;switch(Q){case"and":return H.every(($)=>l91(Y,$));case"or":return H.some(($)=>l91(Y,$));case"not":return!H.every(($)=>l91(Y,$));default:return!0}}let{field:J,operator:G,value:W}=X,Z=J.join(".");if(Z==="connection_id"){if(G!=="eq"||typeof W!=="string")return!1;return dX8(Y,W)}let K=yk1(Y,Z);switch(G){case"eq":return K===W;case"gt":return PO(K)&&PO(W)&&K>W;case"gte":return PO(K)&&PO(W)&&K>=W;case"lt":return PO(K)&&PO(W)&&K<W;case"lte":return PO(K)&&PO(W)&&K<=W;case"in":return Array.isArray(W)&&W.includes(K);case"like":if(typeof K!=="string"||typeof W!=="string")return!1;if(W.length>100)return!1;let Q=lX8(W);return new RegExp(`^${Q}$`,"i").test(K);case"contains":if(typeof K!=="string"||typeof W!=="string")return!1;return K.toLowerCase().includes(W.toLowerCase());default:return!0}}function cX8(Y,X){return[...Y].sort((J,G)=>{for(let W of X){let Z=W.field.join("."),K=yk1(J,Z),Q=yk1(G,Z),H=0;if(K==null&&Q==null)continue;if(K==null)H=W.nulls==="first"?-1:1;else if(Q==null)H=W.nulls==="first"?1:-1;else if(typeof K==="string"&&typeof Q==="string")H=K.localeCompare(Q);else if(typeof K==="number"&&typeof Q==="number")H=K-Q;else H=String(K).localeCompare(String(Q));if(H!==0)return W.direction==="desc"?-H:H}return 0})}var pX8,nX8,bk1;var ZW6=b(()=>{MZ();J4();XI();pX8=k3,nX8=EU(cZ),bk1=n0({name:"COLLECTION_VIRTUAL_MCP_LIST",description:"List all MCP virtual MCPs in the organization",annotations:{title:"List Virtual MCPs",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:pX8,outputSchema:nX8,handler:async(Y,X)=>{await X.access.check();let J=B6(X),G=Y.where&&!("conditions"in Y.where)&&Y.where.field.join(".")==="connection_id"&&Y.where.operator==="eq"&&typeof Y.where.value==="string"?Y.where.value:void 0,Z=G?await X.storage.virtualMcps.listByConnectionId(J.id,G):await X.storage.virtualMcps.list(J.id);if(Y.where)Z=Z.filter((V)=>l91(V,Y.where));if(Y.orderBy&&Y.orderBy.length>0)Z=cX8(Z,Y.orderBy);let K=Z.length,Q=Y.offset??0,H=Y.limit??100,$=Z.slice(Q,Q+H),F=Q+H<K;return{items:$,totalCount:K,hasMore:F}}})});var iX8,aX8,hk1;var QW6=b(()=>{d0();J4();XI();iX8=B.object({id:B.string().describe("ID of the virtual MCP to retrieve")}),aX8=B.object({item:cZ.nullable().describe("The retrieved virtual MCP, or null if not found")}),hk1=n0({name:"COLLECTION_VIRTUAL_MCP_GET",description:"Get an MCP virtual MCP by ID",annotations:{title:"Get Virtual MCP",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:iX8,outputSchema:aX8,handler:async(Y,X)=>{H6(X);let J=B6(X);await X.access.check();let G=await X.storage.virtualMcps.findById(Y.id);if(G&&G.organization_id!==J.id)return{item:null};if(!G)return{item:null};return{item:G}}})});var rX8,oX8,xk1;var KW6=b(()=>{d0();J4();XI();rX8=B.object({id:B.string().describe("ID of the virtual MCP to update"),data:If.describe("Partial virtual MCP data to update")}),oX8=B.object({item:cZ.describe("The updated virtual MCP entity")}),xk1=n0({name:"COLLECTION_VIRTUAL_MCP_UPDATE",description:"Update an MCP virtual MCP",annotations:{title:"Update Virtual MCP",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:rX8,outputSchema:oX8,handler:async(Y,X)=>{H6(X);let J=B6(X);await X.access.check();let G=vX(X);if(!G)throw Error("User ID required to update virtual MCP");let W=await X.storage.virtualMcps.findById(Y.id);if(!W)throw Error(`Virtual MCP not found: ${Y.id}`);if(W.organization_id!==J.id)throw Error(`Virtual MCP not found: ${Y.id}`);return{item:await X.storage.virtualMcps.update(Y.id,G,Y.data)}}})});var sX8,tX8,gk1;var HW6=b(()=>{d0();J4();XI();sX8=B.object({id:B.string().describe("ID of the virtual MCP to delete")}),tX8=B.object({item:cZ.describe("The deleted virtual MCP entity")}),gk1=n0({name:"COLLECTION_VIRTUAL_MCP_DELETE",description:"Delete an MCP virtual MCP",annotations:{title:"Delete Virtual MCP",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:sX8,outputSchema:tX8,handler:async(Y,X)=>{H6(X);let J=B6(X);await X.access.check();let G=await X.storage.virtualMcps.findById(Y.id);if(!G)throw Error(`Virtual MCP not found: ${Y.id}`);if(G.organization_id!==J.id)throw Error(`Virtual MCP not found: ${Y.id}`);return await X.storage.virtualMcps.delete(Y.id),{item:G}}})});var $W6=b(()=>{WW6();ZW6();QW6();KW6();HW6()});var Y58,X58,uk1;var FW6=b(()=>{d0();J4();rU();Y58=B.object({virtual_mcp_id:B.string().describe("ID of the Virtual MCP to add the tool to"),data:AG6.describe("Virtual tool data")}),X58=B.object({item:tF.describe("The created virtual tool")}),uk1=n0({name:"COLLECTION_VIRTUAL_TOOLS_CREATE",description:"Create a new virtual tool on a Virtual MCP. The tool code should be a JavaScript ES module that exports a default async function: export default async (tools, args) => { ... }. Specify connection_dependencies to indicate which connections this tool uses.",annotations:{title:"Create Virtual Tool",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:Y58,outputSchema:X58,handler:async(Y,X)=>{H6(X);let J=B6(X);await X.access.check();let G=await X.storage.virtualMcps.findById(Y.virtual_mcp_id);if(!G||G.organization_id!==J.id)throw Error(`Virtual MCP not found: ${Y.virtual_mcp_id}`);let W=Y.data.connection_dependencies??[];return{item:await X.storage.virtualMcps.createVirtualTool(Y.virtual_mcp_id,Y.data,W)}}})});var J58,G58,mk1;var VW6=b(()=>{d0();J4();rU();J58=B.object({virtual_mcp_id:B.string().describe("ID of the Virtual MCP to list tools for"),limit:B.number().int().min(1).max(1000).optional().describe("Maximum number of items to return"),offset:B.number().int().min(0).optional().describe("Number of items to skip")}),G58=B.object({items:B.array(tF).describe("Array of virtual tools"),totalCount:B.number().int().min(0).optional().describe("Total number of virtual tools"),hasMore:B.boolean().optional().describe("Whether there are more items available")}),mk1=n0({name:"COLLECTION_VIRTUAL_TOOLS_LIST",description:"List all virtual tools for a Virtual MCP",annotations:{title:"List Virtual Tools",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:J58,outputSchema:G58,handler:async(Y,X)=>{H6(X);let J=B6(X);await X.access.check();let G=await X.storage.virtualMcps.findById(Y.virtual_mcp_id);if(!G||G.organization_id!==J.id)return{items:[],totalCount:0,hasMore:!1};let W=await X.storage.virtualMcps.listVirtualTools(Y.virtual_mcp_id),Z=W.length,K=Y.offset??0,Q=Y.limit??100,H=W.slice(K,K+Q),$=K+Q<Z;return{items:H,totalCount:Z,hasMore:$}}})});var W58,Z58,lk1;var zW6=b(()=>{d0();J4();rU();W58=B.object({virtual_mcp_id:B.string().describe("ID of the Virtual MCP"),name:B.string().describe("Name of the virtual tool to retrieve")}),Z58=B.object({item:tF.nullable().describe("The retrieved virtual tool, or null if not found")}),lk1=n0({name:"COLLECTION_VIRTUAL_TOOLS_GET",description:"Get a virtual tool by name from a Virtual MCP",annotations:{title:"Get Virtual Tool",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:W58,outputSchema:Z58,handler:async(Y,X)=>{H6(X);let J=B6(X);await X.access.check();let G=await X.storage.virtualMcps.findById(Y.virtual_mcp_id);if(!G||G.organization_id!==J.id)return{item:null};return{item:await X.storage.virtualMcps.getVirtualTool(Y.virtual_mcp_id,Y.name)}}})});var Q58,K58,dk1;var UW6=b(()=>{d0();J4();rU();Q58=B.object({virtual_mcp_id:B.string().describe("ID of the Virtual MCP"),name:B.string().describe("Current name of the virtual tool to update"),data:PG6.describe("Partial virtual tool data to update")}),K58=B.object({item:tF.describe("The updated virtual tool")}),dk1=n0({name:"COLLECTION_VIRTUAL_TOOLS_UPDATE",description:"Update an existing virtual tool on a Virtual MCP. Specify connection_dependencies to update which connections this tool uses.",annotations:{title:"Update Virtual Tool",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:Q58,outputSchema:K58,handler:async(Y,X)=>{H6(X);let J=B6(X);await X.access.check();let G=await X.storage.virtualMcps.findById(Y.virtual_mcp_id);if(!G||G.organization_id!==J.id)throw Error(`Virtual MCP not found: ${Y.virtual_mcp_id}`);if(!await X.storage.virtualMcps.getVirtualTool(Y.virtual_mcp_id,Y.name))throw Error(`Virtual tool not found: ${Y.name}`);let Z=Y.data.connection_dependencies;return{item:await X.storage.virtualMcps.updateVirtualTool(Y.virtual_mcp_id,Y.name,Y.data,Z)}}})});var H58,$58,ck1;var qW6=b(()=>{d0();J4();rU();H58=B.object({virtual_mcp_id:B.string().describe("ID of the Virtual MCP"),name:B.string().describe("Name of the virtual tool to delete")}),$58=B.object({item:tF.describe("The deleted virtual tool")}),ck1=n0({name:"COLLECTION_VIRTUAL_TOOLS_DELETE",description:"Delete a virtual tool from a Virtual MCP",annotations:{title:"Delete Virtual Tool",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:H58,outputSchema:$58,handler:async(Y,X)=>{H6(X);let J=B6(X);await X.access.check();let G=await X.storage.virtualMcps.findById(Y.virtual_mcp_id);if(!G||G.organization_id!==J.id)throw Error(`Virtual MCP not found: ${Y.virtual_mcp_id}`);let W=await X.storage.virtualMcps.getVirtualTool(Y.virtual_mcp_id,Y.name);if(!W)throw Error(`Virtual tool not found: ${Y.name}`);return await X.storage.virtualMcps.deleteVirtualTool(Y.virtual_mcp_id,Y.name),{item:W}}})});var BW6=b(()=>{FW6();VW6();zW6();UW6();qW6()});var V58,pk1;var DW6=b(()=>{_L();J4();d0();V58=B.object({id:B.string().optional().describe("Unique log identifier"),organizationId:B.string().describe("Organization ID"),connectionId:B.string().describe("Connection ID"),connectionTitle:B.string().describe("Connection display name"),toolName:B.string().describe("Name of the tool that was called"),input:B.record(B.string(),B.unknown()).describe("Redacted tool input"),output:B.record(B.string(),B.unknown()).describe("Redacted tool output"),isError:B.boolean().describe("Whether the call resulted in an error"),errorMessage:B.string().nullish().describe("Error message if applicable"),durationMs:B.number().describe("Call duration in milliseconds"),timestamp:B.string().describe("ISO 8601 timestamp of the call"),userId:B.string().nullish().describe("User who triggered the call"),requestId:B.string().describe("Unique request identifier"),userAgent:B.string().nullish().describe("Client identifier (x-mesh-client header)"),virtualMcpId:B.string().nullish().describe("Virtual MCP (Agent) ID if routed through an agent"),properties:B.record(B.string(),B.string()).nullish().describe("Custom key-value metadata attached to the log")}),pk1=n0({name:"MONITORING_LOGS_LIST",description:"List monitoring logs for tool calls in the organization",annotations:{title:"List Monitoring Logs",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({connectionId:B.string().optional().describe("Filter by connection ID"),excludeConnectionIds:B.array(B.string()).optional().describe("Exclude logs from these connection IDs (e.g. system connections)"),virtualMcpId:B.string().optional().describe("Filter by Virtual MCP (Agent) ID"),toolName:B.string().optional().describe("Filter by tool name"),isError:B.boolean().optional().describe("Filter by error status"),startDate:B.string().datetime().optional().describe("Filter by start date (ISO 8601 datetime string)"),endDate:B.string().datetime().optional().describe("Filter by end date (ISO 8601 datetime string)"),limit:B.number().default(20).describe("Maximum number of results"),offset:B.number().default(0).describe("Offset for pagination"),properties:B.record(B.string(),B.string()).optional().describe("Filter by exact property key=value matches"),propertyKeys:B.array(B.string()).optional().describe("Filter by logs that have these property keys"),propertyPatterns:B.record(B.string(),B.string()).optional().describe("Filter by property value patterns (SQL LIKE, use % as wildcard)"),propertyInValues:B.record(B.string(),B.string()).optional().describe("Filter by exact match within comma-separated values (e.g., user_tags in 'Engineering')")}),outputSchema:B.object({logs:B.array(V58).describe("Array of monitoring logs"),total:B.number().describe("Total number of logs matching filters"),offset:B.number().describe("Current offset for pagination"),limit:B.number().describe("Current limit for pagination")}),handler:async(Y,X)=>{await WM0();let J=B6(X),W=Y.properties||Y.propertyKeys||Y.propertyPatterns||Y.propertyInValues?{properties:Y.properties,propertyKeys:Y.propertyKeys,propertyPatterns:Y.propertyPatterns,propertyInValues:Y.propertyInValues}:void 0,Z={organizationId:J.id,connectionId:Y.connectionId,excludeConnectionIds:Y.excludeConnectionIds,virtualMcpId:Y.virtualMcpId,toolName:Y.toolName,isError:Y.isError,startDate:Y.startDate?new Date(Y.startDate):void 0,endDate:Y.endDate?new Date(Y.endDate):void 0,limit:Y.limit,offset:Y.offset,propertyFilters:W},K=await X.storage.monitoring.query(Z);return{logs:K.logs.map((Q)=>({...Q,timestamp:Q.timestamp instanceof Date?Q.timestamp.toISOString():Q.timestamp})),total:K.total,offset:Y.offset,limit:Y.limit}}})});var nk1;var OW6=b(()=>{J4();d0();nk1=n0({name:"MONITORING_STATS",description:"Get aggregated statistics for tool call monitoring",annotations:{title:"Get Monitoring Stats",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({startDate:B.string().datetime().optional().describe("Filter by start date (ISO 8601 datetime string)"),endDate:B.string().datetime().optional().describe("Filter by end date (ISO 8601 datetime string)")}),outputSchema:B.object({totalCalls:B.number().describe("Total number of tool calls"),errorRate:B.number().describe("Error rate as a decimal (0 to 1)"),avgDurationMs:B.number().describe("Average call duration in milliseconds"),errorRatePercent:B.string().describe("Error rate as a percentage string")}),handler:async(Y,X)=>{let G={organizationId:B6(X).id,startDate:Y.startDate?new Date(Y.startDate):void 0,endDate:Y.endDate?new Date(Y.endDate):void 0},W=await X.storage.monitoring.getStats(G);return{...W,errorRatePercent:(W.errorRate*100).toFixed(2)}}})});var LW6=b(()=>{DW6();OW6()});var U58,q58,B58,ik1,D58,O58,bu,hu,EO,L58,N58,NW6;var NA=b(()=>{d0();U58=B.enum(["sum","avg","min","max","count","count_all","last"]).describe("Aggregation function to apply"),q58=B.enum(["metric","timeseries","table"]).describe("Widget display type"),B58=B.object({path:B.string().describe("JSONPath to extract value, e.g., '$.usage.total_tokens'"),from:B.enum(["input","output"]).describe("Extract from tool call input or output")}),ik1=B.enum(["connection_id","connection_title","user_id","tool_name","virtual_mcp_id"]).describe("Table column to group by (takes priority over JSONPath groupBy)"),D58=B.object({fn:U58,groupBy:B.string().optional().describe("Optional JSONPath for grouping results"),groupByColumn:ik1.optional(),interval:B.string().optional().describe("For timeseries widgets: interval like '1h', '1d', '15m'")}),O58=B.object({connectionIds:B.array(B.string()).optional().describe("Filter to specific connections"),toolNames:B.array(B.string()).optional().describe("Filter to specific tools")}),bu=B.object({id:B.string().describe("Unique widget identifier"),name:B.string().describe("Widget display name"),type:q58,source:B58,aggregation:D58,filter:O58.optional()}),hu=B.object({connectionIds:B.array(B.string()).optional().describe("Filter to specific connections"),virtualMcpIds:B.array(B.string()).optional().describe("Filter to specific virtual MCPs/agents"),toolNames:B.array(B.string()).optional().describe("Filter to specific tools"),propertyFilters:B.record(B.string(),B.string()).optional().describe("Filter by exact metadata property key=value matches (e.g., { environment: 'production' })")}),EO=B.object({id:B.string().describe("Unique dashboard identifier"),organizationId:B.string().describe("Organization ID"),name:B.string().describe("Dashboard name"),description:B.string().nullable().describe("Dashboard description"),filters:hu.nullable().describe("Global filters applied to all widgets"),widgets:B.array(bu).describe("Widget definitions"),createdBy:B.string().describe("User ID who created the dashboard"),createdAt:B.string().describe("Creation timestamp"),updatedAt:B.string().describe("Last update timestamp")}),L58=B.object({key:B.string().describe("Group key value"),value:B.number().describe("Aggregated value for this group")}),N58=B.object({timestamp:B.string().describe("Time bucket timestamp"),value:B.number().describe("Aggregated value for this time bucket")}),NW6=B.object({widgetId:B.string().describe("Widget ID this result is for"),value:B.number().nullable().describe("Aggregated value (for metric type)"),groups:B.array(L58).optional().describe("Grouped results (when groupBy is specified)"),timeseries:B.array(N58).optional().describe("Timeseries data (for timeseries type)")})});var ak1;var MW6=b(()=>{J4();d0();NA();ak1=n0({name:"MONITORING_DASHBOARD_CREATE",description:"Create a new monitoring dashboard with JSONPath widgets",annotations:{title:"Create Monitoring Dashboard",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:B.object({name:B.string().min(1).describe("Dashboard name"),description:B.string().optional().describe("Dashboard description"),filters:hu.optional().describe("Global filters applied to all widgets"),widgets:B.array(bu).min(1).describe("Widget definitions (at least one required)")}),outputSchema:EO,handler:async(Y,X)=>{let J=B6(X),G=X.auth.user?.id;if(!G)throw Error("User authentication required");let W=await X.storage.monitoringDashboards.create(J.id,G,{name:Y.name,description:Y.description,filters:Y.filters,widgets:Y.widgets});return{id:W.id,organizationId:W.organizationId,name:W.name,description:W.description,filters:W.filters,widgets:W.widgets,createdBy:W.createdBy,createdAt:W.createdAt instanceof Date?W.createdAt.toISOString():W.createdAt,updatedAt:W.updatedAt instanceof Date?W.updatedAt.toISOString():W.updatedAt}}})});var rk1;var wW6=b(()=>{J4();d0();NA();rk1=n0({name:"MONITORING_DASHBOARD_GET",description:"Get a monitoring dashboard by ID",annotations:{title:"Get Monitoring Dashboard",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({id:B.string().describe("Dashboard ID")}),outputSchema:EO.nullable(),handler:async(Y,X)=>{let J=B6(X),G=await X.storage.monitoringDashboards.get(Y.id);if(!G||G.organizationId!==J.id)return null;return{id:G.id,organizationId:G.organizationId,name:G.name,description:G.description,filters:G.filters,widgets:G.widgets,createdBy:G.createdBy,createdAt:G.createdAt instanceof Date?G.createdAt.toISOString():G.createdAt,updatedAt:G.updatedAt instanceof Date?G.updatedAt.toISOString():G.updatedAt}}})});var ok1;var AW6=b(()=>{J4();d0();NA();ok1=n0({name:"MONITORING_DASHBOARD_LIST",description:"List all monitoring dashboards for the organization",annotations:{title:"List Monitoring Dashboards",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({}),outputSchema:B.object({dashboards:B.array(EO).describe("List of dashboards"),total:B.number().describe("Total number of dashboards")}),handler:async(Y,X)=>{let J=B6(X),G=await X.storage.monitoringDashboards.list(J.id);return{dashboards:G.map((W)=>({id:W.id,organizationId:W.organizationId,name:W.name,description:W.description,filters:W.filters,widgets:W.widgets,createdBy:W.createdBy,createdAt:W.createdAt instanceof Date?W.createdAt.toISOString():W.createdAt,updatedAt:W.updatedAt instanceof Date?W.updatedAt.toISOString():W.updatedAt})),total:G.length}}})});var sk1;var PW6=b(()=>{J4();d0();NA();sk1=n0({name:"MONITORING_DASHBOARD_UPDATE",description:"Update an existing monitoring dashboard",annotations:{title:"Update Monitoring Dashboard",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({id:B.string().describe("Dashboard ID to update"),name:B.string().optional().describe("New dashboard name"),description:B.string().nullable().optional().describe("New dashboard description"),filters:hu.nullable().optional().describe("New global filters"),widgets:B.array(bu).optional().describe("New widget definitions")}),outputSchema:EO,handler:async(Y,X)=>{let J=B6(X),G=await X.storage.monitoringDashboards.get(Y.id);if(!G||G.organizationId!==J.id)throw Error(`Dashboard ${Y.id} not found`);let W={};if(Y.name!==void 0)W.name=Y.name;if(Y.description!==void 0)W.description=Y.description;if(Y.filters!==void 0)W.filters=Y.filters;if(Y.widgets!==void 0)W.widgets=Y.widgets;let Z=await X.storage.monitoringDashboards.update(Y.id,W);return{id:Z.id,organizationId:Z.organizationId,name:Z.name,description:Z.description,filters:Z.filters,widgets:Z.widgets,createdBy:Z.createdBy,createdAt:Z.createdAt instanceof Date?Z.createdAt.toISOString():Z.createdAt,updatedAt:Z.updatedAt instanceof Date?Z.updatedAt.toISOString():Z.updatedAt}}})});var tk1;var EW6=b(()=>{J4();d0();tk1=n0({name:"MONITORING_DASHBOARD_DELETE",description:"Delete a monitoring dashboard",annotations:{title:"Delete Monitoring Dashboard",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({id:B.string().describe("Dashboard ID to delete")}),outputSchema:B.object({success:B.boolean().describe("Whether the deletion was successful")}),handler:async(Y,X)=>{let J=B6(X),G=await X.storage.monitoringDashboards.get(Y.id);if(!G||G.organizationId!==J.id)throw Error(`Dashboard ${Y.id} not found`);return await X.storage.monitoringDashboards.delete(Y.id),{success:!0}}})});var ek1;var RW6=b(()=>{J4();d0();NA();ek1=n0({name:"MONITORING_DASHBOARD_QUERY",description:"Execute a dashboard's widgets and return aggregated monitoring data",annotations:{title:"Query Monitoring Dashboard",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({dashboardId:B.string().describe("Dashboard ID to query"),timeRange:B.object({startDate:B.string().datetime().describe("Start of time range (ISO 8601)"),endDate:B.string().datetime().describe("End of time range (ISO 8601)")}).optional().describe("Time range for the query (defaults to last 24 hours)"),propertyFilters:B.object({properties:B.record(B.string(),B.string()).optional().describe("Exact match: property key equals value"),propertyKeys:B.array(B.string()).optional().describe("Exists: filter logs that have these property keys"),propertyPatterns:B.record(B.string(),B.string()).optional().describe("Pattern match: property value matches pattern (SQL LIKE, use % as wildcard)"),propertyInValues:B.record(B.string(),B.string()).optional().describe("In match: exact match within comma-separated values")}).optional().describe("Runtime property filters applied to all widgets (merged with dashboard-level filters)")}),outputSchema:B.object({dashboardId:B.string().describe("Dashboard ID"),results:B.array(NW6).describe("Widget query results"),timeRange:B.object({startDate:B.string(),endDate:B.string()}).describe("Time range used for the query")}),handler:async(Y,X)=>{let J=B6(X),G=await X.storage.monitoringDashboards.get(Y.dashboardId);if(!G||G.organizationId!==J.id)throw Error(`Dashboard ${Y.dashboardId} not found`);let W=new Date,Z=Y.timeRange?.startDate?new Date(Y.timeRange.startDate):new Date(W.getTime()-86400000),K=Y.timeRange?.endDate?new Date(Y.timeRange.endDate):W,Q=await Promise.all(G.widgets.map(async(H)=>{let $=G.filters?.propertyFilters,F=Y.propertyFilters,V=$||F?{properties:{...$,...F?.properties},propertyKeys:F?.propertyKeys,propertyPatterns:F?.propertyPatterns,propertyInValues:F?.propertyInValues}:void 0,z={connectionIds:H.filter?.connectionIds??G.filters?.connectionIds??void 0,virtualMcpIds:G.filters?.virtualMcpIds??void 0,toolNames:H.filter?.toolNames??G.filters?.toolNames??void 0,startDate:Z,endDate:K,propertyFilters:V};try{let U=await X.storage.monitoring.aggregate({organizationId:J.id,path:H.source.path,from:H.source.from,aggregation:H.aggregation.fn,groupBy:H.aggregation.groupBy,groupByColumn:H.aggregation.groupByColumn,interval:H.aggregation.interval,filters:z});return{widgetId:H.id,value:U.value,groups:U.groups,timeseries:U.timeseries}}catch(U){return console.error(`Widget ${H.id} aggregation failed:`,U),{widgetId:H.id,value:null,groups:void 0,timeseries:void 0}}}));return{dashboardId:Y.dashboardId,results:Q,timeRange:{startDate:Z.toISOString(),endDate:K.toISOString()}}}})});var M58,Y_1;var TW6=b(()=>{J4();d0();NA();M58=B.object({type:B.enum(["metric","timeseries","table"]),source:B.object({path:B.string().describe("JSONPath to extract value from"),from:B.enum(["input","output"]).describe("Extract from input or output")}),aggregation:B.object({fn:B.enum(["sum","avg","min","max","count","count_all","last"]).describe("Aggregation function"),groupBy:B.string().optional().describe("JSONPath for grouping (table)"),groupByColumn:ik1.optional(),interval:B.string().optional().describe("Time interval for timeseries (15m, 1h, 1d)"),limit:B.number().int().positive().optional().describe("Max number of groups to return (applies to groupBy/groupByColumn, ordered by value desc)")}),filter:B.object({connectionIds:B.array(B.string()).optional(),toolNames:B.array(B.string()).optional()}).optional()}),Y_1=n0({name:"MONITORING_WIDGET_PREVIEW",description:"Preview a widget aggregation without saving. Used to test queries in the dashboard editor.",annotations:{title:"Preview Monitoring Widget",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({widget:M58.describe("Widget configuration to preview"),timeRange:B.object({startDate:B.string().datetime().describe("Start of time range (ISO 8601)"),endDate:B.string().datetime().describe("End of time range (ISO 8601)")}).optional().describe("Time range for the query (defaults to last 24 hours)"),propertyFilters:B.object({properties:B.record(B.string(),B.string()).optional().describe("Exact match: property key equals value"),propertyKeys:B.array(B.string()).optional().describe("Exists: filter logs that have these property keys"),propertyPatterns:B.record(B.string(),B.string()).optional().describe("Pattern match: property value matches pattern (SQL LIKE)"),propertyInValues:B.record(B.string(),B.string()).optional().describe("In match: exact match within comma-separated values")}).optional().describe("Property filters to apply"),skipCount:B.boolean().optional().describe("Skip the countMatched query to reduce database load when the count is not needed")}),outputSchema:B.object({value:B.number().nullable().optional().describe("Aggregated value"),groups:B.array(B.object({key:B.string(),value:B.number()})).optional().describe("Grouped results for table widgets"),timeseries:B.array(B.object({timestamp:B.string(),value:B.number()})).optional().describe("Timeseries data points"),matchedRecords:B.number().optional().describe("Number of records that matched (omitted when skipCount is true)"),timeRange:B.object({startDate:B.string(),endDate:B.string()}).describe("Time range used for the query")}),handler:async(Y,X)=>{let J=B6(X),{widget:G,timeRange:W}=Y,Z=new Date,K=W?.startDate?new Date(W.startDate):new Date(Z.getTime()-86400000),Q=W?.endDate?new Date(W.endDate):Z,H={connectionIds:G.filter?.connectionIds,toolNames:G.filter?.toolNames,startDate:K,endDate:Q,propertyFilters:Y.propertyFilters};try{let $=Y.skipCount?void 0:await X.storage.monitoring.countMatched({organizationId:J.id,path:G.source.path,from:G.source.from,filters:H}),F=await X.storage.monitoring.aggregate({organizationId:J.id,path:G.source.path,from:G.source.from,aggregation:G.aggregation.fn,groupBy:G.aggregation.groupBy,groupByColumn:G.aggregation.groupByColumn,interval:G.aggregation.interval,limit:G.aggregation.limit,filters:H});return{value:F.value,groups:F.groups,timeseries:F.timeseries,matchedRecords:$,timeRange:{startDate:K.toISOString(),endDate:Q.toISOString()}}}catch($){return console.error("Widget preview aggregation failed:",$),{value:null,matchedRecords:void 0,timeRange:{startDate:K.toISOString(),endDate:Q.toISOString()}}}}})});var CW6=b(()=>{MW6();wW6();AW6();PW6();EW6();RW6();TW6()});var X_1;var jW6=b(()=>{d0();J4();X_1=n0({name:"ORGANIZATION_CREATE",description:"Create a new organization",annotations:{title:"Create Organization",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:B.object({slug:B.string().min(1).max(50).regex(/^[a-z0-9-]+$/,"Slug must be lowercase alphanumeric with hyphens"),name:B.string().min(1).max(255),description:B.string().optional()}),outputSchema:B.object({id:B.string(),name:B.string(),slug:B.string(),logo:B.string().nullable().optional(),metadata:B.any().optional(),createdAt:B.string().datetime().describe("ISO 8601 timestamp"),members:B.array(B.any()).optional()}),handler:async(Y,X)=>{H6(X),await X.access.check();let J=vX(X);if(!J)throw Error("User ID required to create organization");let G=await X.boundAuth.organization.create({name:Y.name,slug:Y.slug,metadata:Y.description?{description:Y.description}:void 0,userId:J});if(!G)throw Error("Failed to create organization");return{...G,createdAt:G.createdAt instanceof Date?G.createdAt.toISOString():G.createdAt}}})});var J_1;var IW6=b(()=>{d0();J4();J_1=n0({name:"ORGANIZATION_LIST",description:"List all organizations user has access to",annotations:{title:"List Organizations",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({userId:B.string().optional()}),outputSchema:B.object({organizations:B.array(B.object({id:B.string(),name:B.string(),slug:B.string(),logo:B.string().nullable().optional(),metadata:B.any().optional(),createdAt:B.string().datetime().describe("ISO 8601 timestamp")}))}),handler:async(Y,X)=>{H6(X),await X.access.check();let J=vX(X),G=Y.userId||J;if(!G)throw Error("User ID required to list organizations");return{organizations:(await X.boundAuth.organization.list(G)).map((Z)=>({...Z,createdAt:Z.createdAt instanceof Date?Z.createdAt.toISOString():Z.createdAt}))}}})});var G_1;var SW6=b(()=>{d0();J4();G_1=n0({name:"ORGANIZATION_GET",description:"Get organization details by slug or ID",annotations:{title:"Get Organization",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({}),outputSchema:B.object({id:B.string(),name:B.string(),slug:B.string(),logo:B.string().nullable().optional(),metadata:B.any().optional(),createdAt:B.string().datetime().describe("ISO 8601 timestamp"),members:B.array(B.any()).optional(),invitations:B.array(B.any()).optional()}),handler:async(Y,X)=>{H6(X),await X.access.check();let J=await X.boundAuth.organization.get();if(!J)throw Error("No active organization found");let G=new Date,W=J.invitations?.filter((Z)=>new Date(Z.expiresAt)>G);return{...J,invitations:W,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt}}})});var W_1;var kW6=b(()=>{d0();J4();W_1=n0({name:"ORGANIZATION_UPDATE",description:"Update an existing organization",annotations:{title:"Update Organization",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({id:B.string(),slug:B.string().min(1).max(50).regex(/^[a-z0-9-]+$/).optional(),name:B.string().min(1).max(255).optional(),description:B.string().optional()}),outputSchema:B.object({id:B.string(),name:B.string(),slug:B.string(),logo:B.string().nullable().optional(),metadata:B.any().optional(),createdAt:B.string().datetime().describe("ISO 8601 timestamp")}),handler:async(Y,X)=>{H6(X),await X.access.check();let J={};if(Y.name)J.name=Y.name;if(Y.slug)J.slug=Y.slug;if(Y.description)J.metadata={description:Y.description};let G=await X.boundAuth.organization.update({organizationId:Y.id,data:J});if(!G)throw Error("Failed to update organization");return{...G,createdAt:G.createdAt instanceof Date?G.createdAt.toISOString():G.createdAt}}})});var Z_1;var _W6=b(()=>{d0();J4();Z_1=n0({name:"ORGANIZATION_DELETE",description:"Delete an organization",annotations:{title:"Delete Organization",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({id:B.string()}),outputSchema:B.object({success:B.boolean(),id:B.string()}),handler:async(Y,X)=>{return H6(X),await X.access.check(),await X.boundAuth.organization.delete(Y.id),{success:!0,id:Y.id}}})});var xu;var Q_1=b(()=>{d0();xu=B.object({title:B.string(),url:B.string(),icon:B.string()})});var K_1;var vW6=b(()=>{d0();J4();Q_1();K_1=n0({name:"ORGANIZATION_SETTINGS_GET",description:"Get organization-level settings",annotations:{title:"Get Organization Settings",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({}),outputSchema:B.object({organizationId:B.string(),sidebar_items:B.array(xu).nullable().optional(),enabled_plugins:B.array(B.string()).nullable().optional(),createdAt:B.string().datetime().optional().describe("ISO 8601 timestamp"),updatedAt:B.string().datetime().optional().describe("ISO 8601 timestamp")}),handler:async(Y,X)=>{H6(X),await X.access.check();let J=X.organization?.id;if(!J)throw Error("Organization ID required (no active organization in context)");let G=await X.storage.organizationSettings.get(J);if(!G)return{organizationId:J};return{...G,createdAt:G.createdAt instanceof Date?G.createdAt.toISOString():G.createdAt,updatedAt:G.updatedAt instanceof Date?G.updatedAt.toISOString():G.updatedAt}}})});var H_1;var fW6=b(()=>{d0();J4();Q_1();H_1=n0({name:"ORGANIZATION_SETTINGS_UPDATE",description:"Update organization-level settings",annotations:{title:"Update Organization Settings",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({organizationId:B.string(),sidebar_items:B.array(xu).optional(),enabled_plugins:B.array(B.string()).optional()}),outputSchema:B.object({organizationId:B.string(),sidebar_items:B.array(xu).nullable().optional(),enabled_plugins:B.array(B.string()).nullable().optional(),createdAt:B.string().datetime().describe("ISO 8601 timestamp"),updatedAt:B.string().datetime().describe("ISO 8601 timestamp")}),handler:async(Y,X)=>{if(H6(X),await X.access.check(),X.organization&&X.organization.id!==Y.organizationId)throw Error("Cannot update settings for a different organization");let J=await X.storage.organizationSettings.upsert(Y.organizationId,{sidebar_items:Y.sidebar_items,enabled_plugins:Y.enabled_plugins});return{...J,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt,updatedAt:J.updatedAt instanceof Date?J.updatedAt.toISOString():J.updatedAt}}})});var $_1;var yW6=b(()=>{d0();J4();$_1=n0({name:"ORGANIZATION_MEMBER_ADD",description:"Add a member to an organization",annotations:{title:"Add Organization Member",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({organizationId:B.string().optional(),userId:B.string(),role:B.array(B.string())}),outputSchema:B.object({id:B.string(),organizationId:B.string(),userId:B.string(),role:B.union([B.string(),B.array(B.string())]),createdAt:B.string().datetime().describe("ISO 8601 timestamp")}),handler:async(Y,X)=>{H6(X),await X.access.check();let J=Y.organizationId||X.organization?.id;if(!J)throw Error("Organization ID required (no active organization in context)");if(J!==X.organization?.id)throw Error("Organization ID does not match authenticated organization");let G=await X.boundAuth.organization.addMember({organizationId:J,userId:Y.userId,role:Y.role});if(!G)throw Error("Failed to add member");return{...G,role:G.role,createdAt:G.createdAt instanceof Date?G.createdAt.toISOString():G.createdAt}}})});var F_1;var bW6=b(()=>{d0();J4();F_1=n0({name:"ORGANIZATION_MEMBER_REMOVE",description:"Remove a member from an organization",annotations:{title:"Remove Organization Member",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({organizationId:B.string().optional(),memberIdOrEmail:B.string()}),outputSchema:B.object({success:B.boolean(),memberIdOrEmail:B.string()}),handler:async(Y,X)=>{H6(X),await X.access.check();let J=Y.organizationId||X.organization?.id;if(!J)throw Error("Organization ID required (no active organization in context)");return await X.boundAuth.organization.removeMember({organizationId:J,memberIdOrEmail:Y.memberIdOrEmail}),{success:!0,memberIdOrEmail:Y.memberIdOrEmail}}})});var V_1;var hW6=b(()=>{d0();J4();V_1=n0({name:"ORGANIZATION_MEMBER_LIST",description:"List all members in an organization",annotations:{title:"List Organization Members",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({limit:B.number().optional(),offset:B.number().optional()}),outputSchema:B.object({members:B.array(B.object({id:B.string(),organizationId:B.string(),userId:B.string(),role:B.string(),createdAt:B.string().datetime().describe("ISO 8601 timestamp"),user:B.object({id:B.string(),name:B.string(),email:B.string(),image:B.string().optional()}).optional()}))}),handler:async(Y,X)=>{H6(X),await X.access.check();let J=X.organization?.id;if(!J)throw Error("Organization ID required (no active organization in context)");let G=await X.boundAuth.organization.listMembers({organizationId:J,limit:Y.limit,offset:Y.offset});return{members:(Array.isArray(G)?G:[]).map((Z)=>({...Z,createdAt:Z.createdAt instanceof Date?Z.createdAt.toISOString():Z.createdAt}))}}})});var z_1;var xW6=b(()=>{d0();J4();z_1=n0({name:"ORGANIZATION_MEMBER_UPDATE_ROLE",description:"Update a member's role in an organization",annotations:{title:"Update Member Role",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({organizationId:B.string().optional(),memberId:B.string(),role:B.array(B.string())}),outputSchema:B.object({id:B.string(),organizationId:B.string(),userId:B.string(),role:B.union([B.literal("admin"),B.literal("member"),B.literal("owner")]),createdAt:B.string().datetime().describe("ISO 8601 timestamp"),user:B.object({email:B.string(),name:B.string(),image:B.string().optional()})}),handler:async(Y,X)=>{H6(X),await X.access.check();let J=Y.organizationId||X.organization?.id;if(!J)throw Error("Organization ID required (no active organization in context)");let G=await X.boundAuth.organization.updateMemberRole({organizationId:J,memberId:Y.memberId,role:Y.role});if(!G)throw Error("Failed to update member role");return{...G,createdAt:G.createdAt instanceof Date?G.createdAt.toISOString():G.createdAt}}})});var gW6=b(()=>{jW6();IW6();SW6();kW6();_W6();vW6();fW6();yW6();bW6();hW6();xW6()});var P58,d91,E58,sU,uW6,c91;var RO=b(()=>{d0();P58=B.object({banner:B.string().nullable(),bannerColor:B.string().nullable(),icon:B.string().nullable(),themeColor:B.string().nullable()}),d91=B.object({banner:B.string().nullable().optional(),bannerColor:B.string().nullable().optional(),icon:B.string().nullable().optional(),themeColor:B.string().nullable().optional()}),E58=B.object({id:B.string(),title:B.string(),icon:B.string().nullable()}),sU=B.object({id:B.string(),organizationId:B.string(),slug:B.string(),name:B.string(),description:B.string().nullable(),enabledPlugins:B.array(B.string()).nullable(),ui:P58.nullable(),createdAt:B.string().datetime().describe("ISO 8601 timestamp"),updatedAt:B.string().datetime().describe("ISO 8601 timestamp")}),uW6=sU.omit({organizationId:!0}).extend({boundConnections:B.array(E58)}),c91=B.object({id:B.string(),projectId:B.string(),pluginId:B.string(),connectionId:B.string().nullable(),settings:B.record(B.string(),B.unknown()).nullable(),createdAt:B.string().datetime().describe("ISO 8601 timestamp"),updatedAt:B.string().datetime().describe("ISO 8601 timestamp")})});var U_1;var mW6=b(()=>{d0();J4();RO();U_1=n0({name:"PROJECT_LIST",description:"List all projects in an organization",annotations:{title:"List Projects",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({organizationId:B.string().describe("Organization ID to list projects for")}),outputSchema:B.object({projects:B.array(uW6)}),handler:async(Y,X)=>{H6(X),await X.access.check();let J=await X.storage.projects.list(Y.organizationId),G=J.map((Z)=>Z.id),W=await X.storage.projectPluginConfigs.getBoundConnectionsForProjects(G);return{projects:J.map((Z)=>({id:Z.id,slug:Z.slug,name:Z.name,description:Z.description,enabledPlugins:Z.enabledPlugins,ui:Z.ui,boundConnections:W.get(Z.id)??[],createdAt:Z.createdAt instanceof Date?Z.createdAt.toISOString():Z.createdAt,updatedAt:Z.updatedAt instanceof Date?Z.updatedAt.toISOString():Z.updatedAt}))}}})});var q_1;var lW6=b(()=>{d0();J4();RO();q_1=n0({name:"PROJECT_GET",description:"Get a project by ID or slug",annotations:{title:"Get Project",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({organizationId:B.string().describe("Organization ID"),projectId:B.string().optional().describe("Project ID (either this or slug required)"),slug:B.string().optional().describe("Project slug (either this or projectId required)")}).refine((Y)=>Y.projectId||Y.slug,{message:"Either projectId or slug must be provided"}),outputSchema:B.object({project:sU.nullable()}),handler:async(Y,X)=>{H6(X),await X.access.check();let J=null;if(Y.projectId)J=await X.storage.projects.get(Y.projectId);else if(Y.slug)J=await X.storage.projects.getBySlug(Y.organizationId,Y.slug);if(!J)return{project:null};return{project:{id:J.id,organizationId:J.organizationId,slug:J.slug,name:J.name,description:J.description,enabledPlugins:J.enabledPlugins,ui:J.ui,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt,updatedAt:J.updatedAt instanceof Date?J.updatedAt.toISOString():J.updatedAt}}}})});var B_1;var dW6=b(()=>{d0();XX();J4();RO();B_1=n0({name:"PROJECT_CREATE",description:"Create a new project in an organization",annotations:{title:"Create Project",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:B.object({organizationId:B.string().describe("Organization ID"),slug:B.string().min(1).max(100).regex(/^[a-z0-9-]+$/,"Slug must be lowercase alphanumeric with hyphens").describe("URL-friendly identifier"),name:B.string().min(1).max(200).describe("Display name"),description:B.string().max(1000).nullable().optional().describe("Project description"),enabledPlugins:B.array(B.string()).nullable().optional().describe("Plugin IDs to enable"),ui:d91.nullable().optional().describe("UI customization")}),outputSchema:B.object({project:sU}),handler:async(Y,X)=>{H6(X),await X.access.check();let{organizationId:J,slug:G,name:W,description:Z,enabledPlugins:K,ui:Q}=Y;if(G===oV)throw Error(`Slug "${oV}" is reserved`);if(await X.storage.projects.getBySlug(J,G))throw Error(`Project with slug "${G}" already exists in this organization`);let $=Q?{banner:Q.banner??null,bannerColor:Q.bannerColor??null,icon:Q.icon??null,themeColor:Q.themeColor??null}:null,F=await X.storage.projects.create({organizationId:J,slug:G,name:W,description:Z??null,enabledPlugins:K??null,ui:$});return{project:{id:F.id,organizationId:F.organizationId,slug:F.slug,name:F.name,description:F.description,enabledPlugins:F.enabledPlugins,ui:F.ui,createdAt:F.createdAt instanceof Date?F.createdAt.toISOString():F.createdAt,updatedAt:F.updatedAt instanceof Date?F.updatedAt.toISOString():F.updatedAt}}}})});var D_1;var cW6=b(()=>{d0();J4();RO();D_1=n0({name:"PROJECT_UPDATE",description:"Update a project's details",annotations:{title:"Update Project",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({projectId:B.string().describe("Project ID to update"),name:B.string().min(1).max(200).optional().describe("New display name"),description:B.string().max(1000).nullable().optional().describe("New description"),enabledPlugins:B.array(B.string()).nullable().optional().describe("Updated plugin IDs"),ui:d91.nullable().optional().describe("Updated UI customization")}),outputSchema:B.object({project:sU.nullable()}),handler:async(Y,X)=>{H6(X),await X.access.check();let{projectId:J,name:G,description:W,enabledPlugins:Z,ui:K}=Y,Q={};if(G!==void 0)Q.name=G;if(W!==void 0)Q.description=W;if(Z!==void 0)Q.enabledPlugins=Z;if(K!==void 0)Q.ui=K?{banner:K.banner??null,bannerColor:K.bannerColor??null,icon:K.icon??null,themeColor:K.themeColor??null}:null;let H=await X.storage.projects.update(J,Q);if(!H)return{project:null};return{project:{id:H.id,organizationId:H.organizationId,slug:H.slug,name:H.name,description:H.description,enabledPlugins:H.enabledPlugins,ui:H.ui,createdAt:H.createdAt instanceof Date?H.createdAt.toISOString():H.createdAt,updatedAt:H.updatedAt instanceof Date?H.updatedAt.toISOString():H.updatedAt}}}})});var O_1;var pW6=b(()=>{d0();XX();J4();O_1=n0({name:"PROJECT_DELETE",description:"Delete a project (cannot delete org-admin)",annotations:{title:"Delete Project",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({projectId:B.string().describe("Project ID to delete")}),outputSchema:B.object({success:B.boolean(),message:B.string().optional()}),handler:async(Y,X)=>{H6(X),await X.access.check();let{projectId:J}=Y,G=await X.storage.projects.get(J);if(!G)return{success:!1,message:"Project not found"};if(G.slug===oV)return{success:!1,message:"Cannot delete the org-admin project"};return{success:await X.storage.projects.delete(J)}}})});var L_1;var nW6=b(()=>{d0();J4();RO();L_1=n0({name:"PROJECT_PLUGIN_CONFIG_GET",description:"Get plugin configuration for a project",annotations:{title:"Get Project Plugin Config",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({projectId:B.string().describe("Project ID"),pluginId:B.string().describe("Plugin ID")}),outputSchema:B.object({config:c91.nullable()}),handler:async(Y,X)=>{H6(X),await X.access.check();let{projectId:J,pluginId:G}=Y,W=await X.storage.projectPluginConfigs.get(J,G);if(!W)return{config:null};return{config:{id:W.id,projectId:W.projectId,pluginId:W.pluginId,connectionId:W.connectionId,settings:W.settings,createdAt:W.createdAt instanceof Date?W.createdAt.toISOString():W.createdAt,updatedAt:W.updatedAt instanceof Date?W.updatedAt.toISOString():W.updatedAt}}}})});var N_1;var iW6=b(()=>{d0();J4();RO();f91();TD();N_1=n0({name:"PROJECT_PLUGIN_CONFIG_UPDATE",description:"Update or create plugin configuration for a project",annotations:{title:"Update Project Plugin Config",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({projectId:B.string().describe("Project ID"),pluginId:B.string().describe("Plugin ID"),connectionId:B.string().nullable().optional().describe("MCP connection to bind"),settings:B.record(B.string(),B.unknown()).nullable().optional().describe("Plugin-specific settings")}),outputSchema:B.object({config:c91}),handler:async(Y,X)=>{H6(X),await X.access.check();let{projectId:J,pluginId:G,connectionId:W,settings:Z}=Y,K=vX(X),Q=await X.storage.projects.get(J);if(!Q)throw Error(`Project not found: ${J}`);let H=W?await X.storage.connections.findById(W):null;if(W&&Q.organizationId&&!H&&ij()){if(v91(W,Q.organizationId)){if(!K)throw Error("User ID required to create dev-assets connection");let F=aj(Q.organizationId,qQ());await X.storage.connections.create({...F,organization_id:Q.organizationId,created_by:K})}}let $=await X.storage.projectPluginConfigs.upsert(J,G,{connectionId:W,settings:Z});return{config:{id:$.id,projectId:$.projectId,pluginId:$.pluginId,connectionId:$.connectionId,settings:$.settings,createdAt:$.createdAt instanceof Date?$.createdAt.toISOString():$.createdAt,updatedAt:$.updatedAt instanceof Date?$.updatedAt.toISOString():$.updatedAt}}}})});var R58,M_1;var aW6=b(()=>{d0();J4();R58=B.object({id:B.string(),title:B.string(),icon:B.string().nullable(),connectionType:B.string(),status:B.string()}),M_1=n0({name:"PROJECT_CONNECTION_LIST",description:"List connections associated with a project",annotations:{title:"List Project Connections",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({projectId:B.string().describe("Project ID")}),outputSchema:B.object({connections:B.array(R58)}),handler:async(Y,X)=>{H6(X);let J=B6(X);await X.access.check();let{projectId:G}=Y,W=await X.storage.projects.get(G);if(!W||W.organizationId!==J.id)throw Error(`Project not found: ${G}`);let Z=await X.storage.projectConnections.list(G);return{connections:(await Promise.all(Z.map((H)=>X.storage.connections.findById(H.connectionId)))).filter((H)=>H!=null).map((H)=>({id:H.id,title:H.title,icon:H.icon??null,connectionType:H.connection_type,status:H.status}))}}})});var w_1;var rW6=b(()=>{d0();J4();w_1=n0({name:"PROJECT_CONNECTION_ADD",description:"Associate a connection with a project",annotations:{title:"Add Project Connection",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({projectId:B.string().describe("Project ID"),connectionId:B.string().describe("Connection ID to associate")}),outputSchema:B.object({success:B.boolean(),projectConnectionId:B.string()}),handler:async(Y,X)=>{H6(X);let J=B6(X);await X.access.check();let{projectId:G,connectionId:W}=Y,Z=await X.storage.projects.get(G);if(!Z||Z.organizationId!==J.id)throw Error(`Project not found: ${G}`);let K=await X.storage.connections.findById(W);if(!K||K.organization_id!==J.id)throw Error(`Connection not found: ${W}`);return{success:!0,projectConnectionId:(await X.storage.projectConnections.add(G,W)).id}}})});var A_1;var oW6=b(()=>{d0();J4();A_1=n0({name:"PROJECT_CONNECTION_REMOVE",description:"Remove a connection association from a project",annotations:{title:"Remove Project Connection",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({projectId:B.string().describe("Project ID"),connectionId:B.string().describe("Connection ID to disassociate")}),outputSchema:B.object({success:B.boolean()}),handler:async(Y,X)=>{H6(X);let J=B6(X);await X.access.check();let{projectId:G,connectionId:W}=Y,Z=await X.storage.projects.get(G);if(!Z||Z.organizationId!==J.id)throw Error(`Project not found: ${G}`);let K=await X.storage.connections.findById(W);if(!K||K.organization_id!==J.id)throw Error(`Connection not found: ${W}`);let Q=await X.storage.projectConnections.remove(G,W);if(Z?.ui?.pinnedViews?.length){let H=Z.ui.pinnedViews.filter(($)=>$.connectionId!==W);if(H.length!==Z.ui.pinnedViews.length){let $={...Z.ui,pinnedViews:H.length>0?H:null};await X.storage.projects.update(G,{ui:$})}}return{success:Q}}})});var T58,P_1;var sW6=b(()=>{d0();J4();RO();T58=B.object({connectionId:B.string(),toolName:B.string(),label:B.string(),icon:B.string().nullable()}),P_1=n0({name:"PROJECT_PINNED_VIEWS_UPDATE",description:"Update the pinned sidebar views for a project",annotations:{title:"Update Pinned Views",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({projectId:B.string().describe("Project ID"),pinnedViews:B.array(T58).describe("Pinned views to set for the project sidebar")}),outputSchema:B.object({project:sU.nullable()}),handler:async(Y,X)=>{H6(X),await X.access.check();let{projectId:J,pinnedViews:G}=Y,W=await X.storage.projects.get(J);if(!W)throw Error(`Project not found: ${J}`);let K={...W.ui??{banner:null,bannerColor:null,icon:null,themeColor:null},pinnedViews:G.length>0?G:null},Q=await X.storage.projects.update(J,{ui:K});if(!Q)return{project:null};return{project:{id:Q.id,organizationId:Q.organizationId,slug:Q.slug,name:Q.name,description:Q.description,enabledPlugins:Q.enabledPlugins,ui:Q.ui,createdAt:Q.createdAt instanceof Date?Q.createdAt.toISOString():Q.createdAt,updatedAt:Q.updatedAt instanceof Date?Q.updatedAt.toISOString():Q.updatedAt}}}})});var tW6=b(()=>{mW6();lW6();dW6();cW6();pW6();nW6();iW6();aW6();rW6();oW6();sW6()});var E_1;var eW6=b(()=>{d0();J4();E_1=n0({name:"TAGS_LIST",description:"List all tags in an organization",annotations:{title:"List Tags",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({}),outputSchema:B.object({tags:B.array(B.object({id:B.string(),organizationId:B.string(),name:B.string(),createdAt:B.string().describe("ISO 8601 timestamp")}))}),handler:async(Y,X)=>{H6(X),await X.access.check();let J=B6(X);return{tags:(await X.storage.tags.listOrgTags(J.id)).map((W)=>({...W,createdAt:W.createdAt instanceof Date?W.createdAt.toISOString():String(W.createdAt)}))}}})});var R_1;var YZ6=b(()=>{d0();J4();R_1=n0({name:"TAGS_CREATE",description:"Create a new tag in an organization",annotations:{title:"Create Tag",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:B.object({name:B.string().min(1).max(50).describe("Tag name")}),outputSchema:B.object({tag:B.object({id:B.string(),organizationId:B.string(),name:B.string(),createdAt:B.string().describe("ISO 8601 timestamp")})}),handler:async(Y,X)=>{H6(X),await X.access.check();let J=B6(X),G=await X.storage.tags.createTag(J.id,Y.name);return{tag:{...G,createdAt:G.createdAt instanceof Date?G.createdAt.toISOString():String(G.createdAt)}}}})});var T_1;var XZ6=b(()=>{d0();J4();T_1=n0({name:"TAGS_DELETE",description:"Delete a tag from an organization (removes from all members)",annotations:{title:"Delete Tag",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({tagId:B.string().describe("Tag ID to delete")}),outputSchema:B.object({success:B.boolean()}),handler:async(Y,X)=>{H6(X),await X.access.check();let J=B6(X),G=await X.storage.tags.getTag(Y.tagId);if(!G)throw Error("Tag not found");if(G.organizationId!==J.id)throw Error("Tag does not belong to this organization");return await X.storage.tags.deleteTag(Y.tagId),{success:!0}}})});var C_1;var JZ6=b(()=>{d0();J4();C_1=n0({name:"MEMBER_TAGS_GET",description:"Get tags assigned to a member",annotations:{title:"Get Member Tags",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({memberId:B.string().describe("Member ID")}),outputSchema:B.object({tags:B.array(B.object({id:B.string(),organizationId:B.string(),name:B.string(),createdAt:B.string().describe("ISO 8601 timestamp")}))}),handler:async(Y,X)=>{H6(X),await X.access.check();let J=B6(X);if(!await X.storage.tags.verifyMemberOrg(Y.memberId,J.id))throw Error(`Member not found in this organization: ${Y.memberId}`);return{tags:(await X.storage.tags.getMemberTags(Y.memberId)).map((Z)=>({...Z,createdAt:Z.createdAt instanceof Date?Z.createdAt.toISOString():String(Z.createdAt)}))}}})});var j_1;var GZ6=b(()=>{d0();J4();j_1=n0({name:"MEMBER_TAGS_SET",description:"Set tags for a member (replaces all existing tags)",annotations:{title:"Set Member Tags",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({memberId:B.string().describe("Member ID"),tagIds:B.array(B.string()).describe("Array of tag IDs to assign")}),outputSchema:B.object({success:B.boolean(),tags:B.array(B.object({id:B.string(),organizationId:B.string(),name:B.string(),createdAt:B.string().describe("ISO 8601 timestamp")}))}),handler:async(Y,X)=>{H6(X),await X.access.check();let J=B6(X);if(!await X.storage.tags.verifyMemberOrg(Y.memberId,J.id))throw Error(`Member not found in this organization: ${Y.memberId}`);for(let Z of Y.tagIds){let K=await X.storage.tags.getTag(Z);if(!K)throw Error(`Tag not found: ${Z}`);if(K.organizationId!==J.id)throw Error(`Tag does not belong to this organization: ${Z}`)}return await X.storage.tags.setMemberTags(Y.memberId,Y.tagIds),{success:!0,tags:(await X.storage.tags.getMemberTags(Y.memberId)).map((Z)=>({...Z,createdAt:Z.createdAt instanceof Date?Z.createdAt.toISOString():String(Z.createdAt)}))}}})});var WZ6=b(()=>{eW6();YZ6();XZ6();JZ6();GZ6()});var ZZ6=b(()=>{XX()});var QZ6,eF,KZ6,HZ6;var MA=b(()=>{d0();ZZ6();QZ6=B.object({id:B.string().describe("Unique message ID"),thread_id:B.string().describe("ID of the parent thread"),metadata:B.unknown().optional().describe("Optional message metadata"),parts:B.array(B.record(B.string(),B.unknown())).describe("Message content parts (AI SDK UIMessagePart format)"),role:B.enum(["user","assistant","system"]).describe("Message role"),created_at:B.string().datetime().describe("Timestamp of creation"),updated_at:B.string().datetime().describe("Timestamp of last update")}),eF=B.object({id:B.string().describe("Unique thread ID"),organization_id:B.string().describe("Organization this thread belongs to"),title:B.string().describe("Thread title"),description:B.string().nullable().describe("Thread description"),created_at:B.string().datetime().describe("Timestamp of creation"),updated_at:B.string().datetime().describe("Timestamp of last update"),hidden:B.boolean().optional().describe("Whether the thread is hidden"),status:B.enum([..._E,"expired"]).describe("Thread execution status. 'expired' is virtual -- computed at read time for stale in_progress threads"),created_by:B.string().describe("User ID who created the thread"),updated_by:B.string().nullable().describe("User ID who last updated the thread")}),KZ6=B.object({id:B.string().optional().describe("Optional custom ID for the thread"),title:B.string().describe("Thread title"),description:B.string().nullish().describe("Thread description")}),HZ6=B.object({title:B.string().optional().describe("New thread title"),description:B.string().nullish().describe("New thread description"),hidden:B.boolean().optional().describe("Whether the thread is hidden")})});var I58,S58,I_1;var $Z6=b(()=>{d0();J4();MA();DQ();I58=B.object({data:KZ6.describe("Data for the new thread (id is auto-generated if not provided)")}),S58=B.object({item:eF.describe("The created thread entity")}),I_1=n0({name:"COLLECTION_THREADS_CREATE",description:"Create a new thread in the organization",annotations:{title:"Create Thread",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:I58,outputSchema:S58,handler:async(Y,X)=>{H6(X);let J=B6(X);await X.access.check();let G=vX(X);if(!G)throw Error("User ID required to create thread");let W=Y.data.id??r9("thrd"),Z=await X.storage.threads.create({id:W,organization_id:J.id,title:Y.data.title,description:Y.data.description,created_by:G});return{item:{...Z,hidden:Z.hidden??!1}}}})});function TO(Y,X=Date.now()){let J=Y.status;if(J==="in_progress"){let G=new Date(Y.updated_at).getTime();if(!Number.isFinite(G)||X-G>1800000)J="expired"}return{...Y,status:J,hidden:Y.hidden??!1}}var k58,_58,S_1;var FZ6=b(()=>{MZ();J4();MA();d0();k58=k3.extend({where:B.object({created_by:B.string().optional()}).optional()}),_58=EU(eF),S_1=n0({name:"COLLECTION_THREADS_LIST",description:"List all threads in the organization with filtering, sorting, and pagination",annotations:{title:"List Threads",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:k58,outputSchema:_58,handler:async(Y,X)=>{if(await X.access.check(),!X.auth.user?.id)throw Error("User ID required to list threads");B6(X);let G=Y.offset??0,W=Y.limit??100,Z=Y.where?.created_by,{threads:K,total:Q}=await X.storage.threads.list(Z,{limit:W,offset:G}),H=G+W<Q,$=Date.now();return{items:K.map((F)=>TO(F,$)),totalCount:Q,hasMore:H}}})});var v58,k_1;var VZ6=b(()=>{MZ();J4();MA();v58=ax(eF),k_1=n0({name:"COLLECTION_THREADS_GET",description:"Get thread details by ID",annotations:{title:"Get Thread",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:ix,outputSchema:v58,handler:async(Y,X)=>{H6(X),B6(X),await X.access.check();let J=await X.storage.threads.get(Y.id);if(!J)return{item:null};return{item:TO(J)}}})});var f58,y58,__1;var zZ6=b(()=>{d0();J4();MA();f58=B.object({id:B.string().describe("ID of the thread to update"),data:HZ6.describe("Partial thread data to update")}),y58=B.object({item:eF.describe("The updated thread entity")}),__1=n0({name:"COLLECTION_THREADS_UPDATE",description:"Update an existing thread in the organization",annotations:{title:"Update Thread",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:f58,outputSchema:y58,handler:async(Y,X)=>{H6(X),B6(X),await X.access.check();let J=vX(X);if(!J)throw Error("User ID required to update thread");let{id:G,data:W}=Y;if(!await X.storage.threads.get(G))throw Error("Thread not found in organization");let K=await X.storage.threads.update(G,{title:W.title,description:W.description,hidden:W.hidden,updated_by:J});return{item:TO(K)}}})});var v_1;var UZ6=b(()=>{MZ();J4();MA();v_1=n0({name:"COLLECTION_THREADS_DELETE",description:"Delete a thread",annotations:{title:"Delete Thread",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:rx,outputSchema:ox(eF),handler:async(Y,X)=>{H6(X),B6(X),await X.access.check();let J=await X.storage.threads.get(Y.id);if(!J)throw Error(`Thread not found: ${Y.id}`);return await X.storage.threads.delete(Y.id),{item:TO(J)}}})});function qZ6(Y){if(!Y)return null;if("field"in Y&&Y.field[0]==="thread_id"&&Y.operator==="eq")return String(Y.value);if("conditions"in Y)for(let X of Y.conditions){let J=qZ6(X);if(J)return J}return null}var b58,f_1;var BZ6=b(()=>{MZ();J4();MA();b58=EU(QZ6),f_1=n0({name:"COLLECTION_THREAD_MESSAGES_LIST",description:"List all messages for a specific thread",annotations:{title:"List Thread Messages",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:k3,outputSchema:b58,handler:async(Y,X)=>{B6(X),await X.access.check();let J=qZ6(Y.where);if(!J)throw Error("thread_id filter is required in where clause");let G=Y.offset??0,W=Y.limit??100,{messages:Z,total:K}=await X.storage.threads.listMessages(J,{limit:W,offset:G}),Q=G+W<K;return{items:Z,totalCount:K,hasMore:Q}}})});var DZ6=b(()=>{$Z6();FZ6();VZ6();zZ6();UZ6();BZ6()});var x58,g58,y_1;var OZ6=b(()=>{d0();J4();x58=B.object({id:B.string().min(1)}),g58=B.object({user:B.object({id:B.string(),name:B.string(),email:B.string(),image:B.string().nullable()}).nullable()}),y_1=n0({name:"USER_GET",description:"Get a user by id (restricted to shared organizations)",annotations:{title:"Get User",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:x58,outputSchema:g58,handler:async(Y,X)=>{await X.access.check(),H6(X);let J=vX(X);if(!J)throw Error("Authentication required");let G=await X.storage.users.findById(Y.id,J);if(!G)return{user:null};return{user:{id:G.id,name:G.name,email:G.email,image:G.image??null}}}})});var LZ6=b(()=>{OZ6()});var MZ6={};bY(MZ6,{managementMCP:()=>b_1,ALL_TOOLS:()=>NZ6});var m58,l58,NZ6,b_1=async(Y)=>{let X=null;if(Y.organization){let W=await Y.storage.organizationSettings.get(Y.organization.id),Z=await Y.storage.projects.list(Y.organization.id),K=new Set(W?.enabled_plugins??[]);for(let Q of Z)if(Q.enabledPlugins)for(let H of Q.enabledPlugins)K.add(H);X=K.size>0?[...K]:null}let J=z76(NZ6,X),G=new Fz({name:"mcp-mesh-management",version:"1.0.0"},{capabilities:{tools:{}}});for(let W of J){let Z=W.inputSchema&&typeof W.inputSchema==="object"&&"shape"in W.inputSchema?W.inputSchema:B.object({}),K=W.outputSchema&&typeof W.outputSchema==="object"&&"shape"in W.outputSchema?W.outputSchema:void 0,Q=Z.shape,H=K?.shape;G.registerTool(W.name,{description:W.description??"",inputSchema:Q,outputSchema:H,annotations:W.annotations,_meta:W._meta},async($)=>{Y.access.setToolName(W.name);try{let F=await W.execute($,Y);return{content:[{type:"text",text:JSON.stringify(F)}],structuredContent:F}}catch(F){return{content:[{type:"text",text:`Error: ${F.message}`}],isError:!0}}})}return G};var h_1=b(()=>{R91();_f();d0();k76();a76();lG6();nG6();JW6();$W6();BW6();LW6();CW6();gW6();tW6();WZ6();DZ6();LZ6();m58=[X_1,J_1,G_1,W_1,Z_1,K_1,H_1,$_1,F_1,V_1,z_1,sS1,Yk1,Xk1,Ek1,Rk1,Tk1,fk1,bk1,hk1,xk1,gk1,uk1,mk1,lk1,dk1,ck1,pG6,pk1,nk1,ak1,rk1,ok1,sk1,tk1,ek1,Y_1,uS1,lS1,dS1,mS1,Ck1,jk1,Ik1,Sk1,kk1,_k1,vk1,y_1,aS1,rS1,oS1,I_1,S_1,k_1,__1,v_1,f_1,E_1,R_1,T_1,C_1,j_1,U_1,q_1,B_1,D_1,O_1,L_1,N_1,M_1,w_1,A_1,P_1],l58=U76(),NZ6=[...m58,...l58]});function d58(Y){return[{permissions:{self:["*"]},getTools:async()=>{let{ALL_TOOLS:X}=await Promise.resolve().then(() => (h_1(),MZ6));return X.map((J)=>{return{name:J.name,inputSchema:B.toJSONSchema(J.inputSchema,{unrepresentable:"any"}),outputSchema:J.outputSchema?B.toJSONSchema(J.outputSchema,{unrepresentable:"any"}):void 0,description:J.description}})},data:fq1(qQ(),Y)},{data:vq1()},{data:_q1(Y)}]}async function wZ6(Y,X){try{let J=HU(),G=new Hw(Z4.ENCRYPTION_KEY),W=new Xx(J.db,G),Z=new Jx(J.db),K=d58(Y);try{await Z.create({organizationId:Y,slug:oV,name:xa,description:"Organization administration and settings",enabledPlugins:null,ui:null})}catch(Q){console.warn("Could not create org-admin project (may already exist):",Q)}await Promise.all(K.map(async(Q)=>{let H=null;if(Q.permissions)H=(await rK.api.createApiKey({body:{name:`${Q.data.app_name??crypto.randomUUID()}-mcp`,userId:X,permissions:Q.permissions,rateLimitEnabled:!1,metadata:{organization:{id:Y},purpose:"default-org-connections"}}}))?.key;let $=await QC({id:"pending",title:Q.data.title,connection_type:Q.data.connection_type,connection_url:Q.data.connection_url,connection_token:Q.data.connection_token,connection_headers:Q.data.connection_headers}).catch(()=>null),F=await Q.getTools?.()??$?.tools??null,V=$?.scopes?.length?$.scopes:null,z=Q.data.id?Q.data.id.startsWith(`${Y}_`)?Q.data.id:`${Y}_${Q.data.id}`:void 0;await W.create({...Q.data,id:z,tools:F,configuration_scopes:V,organization_id:Y,created_by:X,connection_token:Q.data.connection_token??H})}))}catch(J){console.error("Error creating default MCP connections:",J)}}var AZ6=b(()=>{XX();TD();sh();p01();e21();YP1();s01();d0();P5();DA()});var x_1,p91;var n91=b(()=>{x_1=["owner","admin","user"],p91=["owner","admin"]});var c58=(Y)=>{return{defaultSSO:[{domain:Y.domain,providerId:Y.providerId,oidcConfig:{issuer:`https://login.microsoftonline.com/${Y.MS_TENANT_ID}/v2.0`,pkce:!0,clientId:Y.MS_CLIENT_ID,clientSecret:Y.MS_CLIENT_SECRET,discoveryEndpoint:`https://login.microsoftonline.com/${Y.MS_TENANT_ID}/v2.0/.well-known/openid-configuration`,authorizationEndpoint:`https://login.microsoftonline.com/${Y.MS_TENANT_ID}/oauth2/v2.0/authorize`,tokenEndpoint:`https://login.microsoftonline.com/${Y.MS_TENANT_ID}/oauth2/v2.0/token`,jwksEndpoint:`https://login.microsoftonline.com/${Y.MS_TENANT_ID}/discovery/v2.0/keys`,userInfoEndpoint:"https://graph.microsoft.com/oidc/userinfo",tokenEndpointAuthentication:"client_secret_post",scopes:Y.scopes,mapping:{id:"sub",email:"email",emailVerified:"email_verified",name:"name",image:"picture",extraFields:{emailVerified:"email_verified"}}}}]}},PZ6=(Y)=>{if(Y.providerId==="microsoft")return c58(Y);throw Error(`Unsupported provider: ${Y.providerId}`)};var jZ6={};bY(jZ6,{resetPasswordEnabled:()=>a91,authConfig:()=>yY,auth:()=>rK});function p58(Y){return Y.toLowerCase().trim().replace(/[^a-z0-9\s_-]+/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function n58(){let Y=Math.floor(Math.random()*RZ6.length),X=Math.floor(Math.random()*EZ6.length),J=RZ6[Y]??"deco",G=EZ6[X]??"studio";return`${J}-${G}`}function XJ8(){let Y=[gu],X=new URL(gu);if(X.hostname==="localhost")Y.push(gu.replace("localhost","127.0.0.1"));else if(X.hostname==="127.0.0.1")Y.push(gu.replace("127.0.0.1","localhost"));return Y}var EZ6,RZ6,i58,a58,i91,r58,o58,s58,TZ6,yY,CZ6=void 0,g_1=void 0,a91=!1,t58,e58,YJ8,gu,rK;var DA=b(()=>{P5();qB1();Qx0();lg0();Lw1();gA1();fu0();z01();TD();du0();sh();t21();Zn0();AZ6();n91();EZ6=["labs","agent","studio","workspace","systems","core","cloud","works"],RZ6=["capybara","guarana","deco","samba","feijoada","capoeira","carnival"];i58=Object.values(uf()).map((Y)=>Y.map((X)=>X.name)).flat(),a58={...o11,self:["*",...i58]},i91=AF(a58),r58=i91.newRole({self:["*"],...Oh.statements}),o58=i91.newRole({self:["*"],...Oh.statements}),s58=i91.newRole({self:["*"],...Oh.statements}),TZ6=Object.values(uf()).map((Y)=>Y.map((X)=>`self:${X.name}`)).flat(),yY=Th.auth;if(yY.inviteEmailProviderId&&yY.emailProviders&&yY.emailProviders.length>0){let Y=eh(yY.emailProviders,yY.inviteEmailProviderId);if(Y){let X=th(Y);CZ6=async(J)=>{let G=J.inviter.user?.name||J.inviter.user?.email,W=`${qQ()}/auth/accept-invitation?invitationId=${J.invitation.id}&redirectTo=/`;await X({to:J.email,subject:`Invitation to join ${J.organization.name}`,html:`
|
|
1795
|
+
`.execute(Y)).rows[0]?.exists)await N6`CREATE ROLE ${N6.id(J)} NOLOGIN`.execute(Y);await N6`GRANT ${N6.id(J)} TO CURRENT_USER`.execute(Y),await N6`GRANT USAGE, CREATE ON SCHEMA ${N6.id(X)} TO ${N6.id(J)}`.execute(Y),await N6`GRANT ALL ON ALL TABLES IN SCHEMA ${N6.id(X)} TO ${N6.id(J)}`.execute(Y),await N6`GRANT ALL ON ALL SEQUENCES IN SCHEMA ${N6.id(X)} TO ${N6.id(J)}`.execute(Y),await N6`ALTER DEFAULT PRIVILEGES IN SCHEMA ${N6.id(X)} GRANT ALL ON TABLES TO ${N6.id(J)}`.execute(Y),await N6`ALTER DEFAULT PRIVILEGES IN SCHEMA ${N6.id(X)} GRANT ALL ON SEQUENCES TO ${N6.id(J)}`.execute(Y),await N6`REVOKE ALL ON SCHEMA public FROM ${N6.id(J)}`.execute(Y)}async function bX8(Y,X,J,G){try{return await Y.transaction().execute(async(W)=>{return await N6`SET LOCAL ROLE ${N6.id(J)}`.execute(W),await N6`SET LOCAL search_path TO ${N6.id(X)}`.execute(W),await N6.raw(G).execute(W)})}catch(W){if(fX8(W))return await yX8(Y,X,J),await Y.transaction().execute(async(Z)=>{return await N6`SET LOCAL ROLE ${N6.id(J)}`.execute(Z),await N6`SET LOCAL search_path TO ${N6.id(X)}`.execute(Z),await N6.raw(G).execute(Z)});throw W}}var IX8,kX8,pG6;var nG6=b(()=>{r7();d0();J4();IX8=B.object({results:B.array(B.unknown()).optional(),success:B.boolean().optional()});kX8=B.object({sql:B.string().describe("The SQL query to run"),params:B.array(B.any()).describe("The parameters to pass to the SQL query").optional()});pG6=n0({name:"DATABASES_RUN_SQL",description:"Run a SQL query against the database",annotations:{title:"Run SQL Query",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:kX8,outputSchema:B.object({result:B.array(IX8)}),handler:async(Y,X)=>{H6(X),await X.access.check();let J=SX8(Y.sql,Y.params||[]);if(!X.connectionId)throw Error("Connection context required for database access");let G=_X8(X.connectionId),W=vX8(X.connectionId);return{result:[{results:(await bX8(X.db,G,W,J)).rows,success:!0}]}}})});var iG6,xX8,aG6;var oU=b(()=>{d0();Vg();iG6=B.object({connectionId:B.string().optional().describe("Filter subscriptions by connection ID (optional)")}),xX8=B.object({id:B.string().describe("Subscription ID"),connectionId:B.string().describe("Subscriber connection ID"),eventType:B.string().describe("Event type pattern"),publisher:B.string().nullable().describe("Publisher connection filter (null = all publishers)"),filter:B.string().nullable().describe("JSONPath filter expression"),enabled:B.boolean().describe("Whether subscription is enabled"),createdAt:B.string().datetime().describe("Created timestamp (ISO 8601)"),updatedAt:B.string().datetime().describe("Updated timestamp (ISO 8601)")}),aG6=B.object({subscriptions:B.array(xX8).describe("List of subscriptions")})});var Ck1;var rG6=b(()=>{J4();oU();Ck1=n0({name:"EVENT_PUBLISH",description:"Publish an event to the event bus. Supports immediate, scheduled (deliverAt), and recurring (cron) delivery. The source is automatically set to the caller's connection ID.",annotations:{title:"Publish Event",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1,openWorldHint:!1},inputSchema:sx,outputSchema:tx,handler:async(Y,X)=>{H6(X);let J=B6(X);await X.access.check();let G=X.connectionId;if(!G)throw Error("Connection ID required to publish events. Use a connection-scoped token.");let W=await X.eventBus.publish(J.id,G,{type:Y.type,subject:Y.subject,data:Y.data,deliverAt:Y.deliverAt,cron:Y.cron});return{id:W.id,type:W.type,source:W.source,time:W.time}}})});var jk1;var oG6=b(()=>{J4();oU();jk1=n0({name:"EVENT_SUBSCRIBE",description:"Subscribe to events of a specific type. The subscriber is automatically set to the caller's connection.",annotations:{title:"Subscribe to Events",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:ex,outputSchema:Yg,handler:async(Y,X)=>{H6(X);let J=B6(X);await X.access.check();let G=X.connectionId;if(!G)throw Error("Connection ID required to subscribe. Use a connection-scoped token.");let W=await X.eventBus.subscribe(J.id,{connectionId:G,eventType:Y.eventType,publisher:Y.publisher,filter:Y.filter});return{subscription:{id:W.id,connectionId:W.connectionId,eventType:W.eventType,publisher:W.publisher,filter:W.filter,enabled:W.enabled,createdAt:W.createdAt instanceof Date?W.createdAt.toISOString():W.createdAt,updatedAt:W.updatedAt instanceof Date?W.updatedAt.toISOString():W.updatedAt}}}})});var Ik1;var sG6=b(()=>{J4();oU();Ik1=n0({name:"EVENT_UNSUBSCRIBE",description:"Unsubscribe from events by removing a subscription.",annotations:{title:"Unsubscribe from Events",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:Gg,outputSchema:Wg,handler:async(Y,X)=>{H6(X);let J=B6(X);await X.access.check();let G=X.connectionId;if(!G)throw Error("Connection ID required to unsubscribe. Use a connection-scoped token.");let W=await X.eventBus.getSubscription(J.id,Y.subscriptionId);if(!W)throw Error(`Subscription not found: ${Y.subscriptionId}`);if(W.connectionId!==G)throw Error("Cannot unsubscribe from a subscription owned by another connection");return{success:(await X.eventBus.unsubscribe(J.id,Y.subscriptionId)).success,subscriptionId:Y.subscriptionId}}})});var Sk1;var tG6=b(()=>{J4();oU();Sk1=n0({name:"EVENT_CANCEL",description:"Cancel a recurring event to stop future deliveries. Only the publisher can cancel their own events.",annotations:{title:"Cancel Recurring Event",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:Zg,outputSchema:Qg,handler:async(Y,X)=>{H6(X);let J=B6(X);await X.access.check();let G=X.connectionId;if(!G)throw Error("Connection ID required to cancel events. Use a connection-scoped token.");if(!await X.eventBus.getEvent(J.id,Y.eventId))throw Error(`Event not found: ${Y.eventId}`);if(!(await X.eventBus.cancelEvent(J.id,Y.eventId,G)).success)throw Error("Failed to cancel event. Either the event is already completed/failed, or you are not the publisher.");return{success:!0,eventId:Y.eventId}}})});var kk1;var eG6=b(()=>{J4();oU();kk1=n0({name:"EVENT_ACK",description:"Acknowledge delivery of an event. Call after successfully processing an event received via ON_EVENTS with retryAfter.",annotations:{title:"Acknowledge Event",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:Kg,outputSchema:Hg,handler:async(Y,X)=>{H6(X);let J=B6(X);await X.access.check();let G=X.connectionId;if(!G)throw Error("Connection ID required to acknowledge events. Use a connection-scoped token.");if(!(await X.eventBus.ackEvent(J.id,Y.eventId,G)).success)throw Error("Failed to acknowledge event. Either the event was not found, already delivered, or you are not a subscriber.");return{success:!0,eventId:Y.eventId}}})});var _k1;var YW6=b(()=>{J4();oU();_k1=n0({name:"EVENT_SUBSCRIPTION_LIST",description:"List event subscriptions, optionally filtered by connection ID.",annotations:{title:"List Event Subscriptions",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:iG6,outputSchema:aG6,handler:async(Y,X)=>{H6(X);let J=B6(X);return await X.access.check(),{subscriptions:(await X.eventBus.listSubscriptions(J.id,Y.connectionId)).map((W)=>({id:W.id,connectionId:W.connectionId,eventType:W.eventType,publisher:W.publisher,filter:W.filter,enabled:W.enabled,createdAt:W.createdAt instanceof Date?W.createdAt.toISOString():W.createdAt,updatedAt:W.updatedAt instanceof Date?W.updatedAt.toISOString():W.updatedAt}))}}})});var vk1;var XW6=b(()=>{J4();oU();vk1=n0({name:"EVENT_SYNC_SUBSCRIPTIONS",description:"Sync subscriptions to desired state. Creates new, deletes removed, updates changed filters. Subscriptions are identified by (eventType, publisher).",annotations:{title:"Sync Event Subscriptions",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:Xg,outputSchema:Jg,handler:async(Y,X)=>{H6(X);let J=B6(X);await X.access.check();let G=X.connectionId;if(!G)throw Error("Connection ID required to sync subscriptions. Use a connection-scoped token.");let W=await X.eventBus.syncSubscriptions(J.id,{connectionId:G,subscriptions:Y.subscriptions});return{created:W.created,updated:W.updated,deleted:W.deleted,unchanged:W.unchanged,subscriptions:W.subscriptions.map((Z)=>({id:Z.id,connectionId:Z.connectionId,eventType:Z.eventType,publisher:Z.publisher,filter:Z.filter,enabled:Z.enabled,createdAt:Z.createdAt instanceof Date?Z.createdAt.toISOString():Z.createdAt,updatedAt:Z.updatedAt instanceof Date?Z.updatedAt.toISOString():Z.updatedAt}))}}})});var JW6=b(()=>{rG6();oG6();sG6();tG6();eG6();YW6();XW6();oU()});var XI=b(()=>{bo()});function GW6(){return`/icons/capy-${Math.floor(Math.random()*39)+0}.png`}var uX8,mX8,fk1;var WW6=b(()=>{d0();J4();XI();uX8=B.object({data:jf.describe("Data for the new virtual MCP")}),mX8=B.object({item:cZ.describe("The created virtual MCP entity")}),fk1=n0({name:"COLLECTION_VIRTUAL_MCP_CREATE",description:"Create a new Virtual MCP",annotations:{title:"Create Virtual MCP",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:uX8,outputSchema:mX8,handler:async(Y,X)=>{H6(X);let J=B6(X);await X.access.check();let G=vX(X);if(!G)throw Error("User ID required to create virtual MCP");let W={...Y.data,icon:Y.data.icon??GW6()};return{item:await X.storage.virtualMcps.create(J.id,G,W)}}})});function lX8(Y){let X=[],J=0;while(J<Y.length){let G=Y[J];if(G==="%")X.push(".*");else if(G==="_")X.push(".");else if(/[.*+?^${}()|[\]\\]/.test(G))X.push("\\"+G);else X.push(G);J++}return X.join("")}function PO(Y){return typeof Y==="string"||typeof Y==="number"}function yk1(Y,X){let J=X.split("."),G=Y;for(let W of J){if(G==null||typeof G!=="object")return;G=G[W]}return G}function dX8(Y,X){return Y.connections.some((J)=>J.connection_id===X)}function l91(Y,X){if("conditions"in X){let{operator:Q,conditions:H}=X;switch(Q){case"and":return H.every(($)=>l91(Y,$));case"or":return H.some(($)=>l91(Y,$));case"not":return!H.every(($)=>l91(Y,$));default:return!0}}let{field:J,operator:G,value:W}=X,Z=J.join(".");if(Z==="connection_id"){if(G!=="eq"||typeof W!=="string")return!1;return dX8(Y,W)}let K=yk1(Y,Z);switch(G){case"eq":return K===W;case"gt":return PO(K)&&PO(W)&&K>W;case"gte":return PO(K)&&PO(W)&&K>=W;case"lt":return PO(K)&&PO(W)&&K<W;case"lte":return PO(K)&&PO(W)&&K<=W;case"in":return Array.isArray(W)&&W.includes(K);case"like":if(typeof K!=="string"||typeof W!=="string")return!1;if(W.length>100)return!1;let Q=lX8(W);return new RegExp(`^${Q}$`,"i").test(K);case"contains":if(typeof K!=="string"||typeof W!=="string")return!1;return K.toLowerCase().includes(W.toLowerCase());default:return!0}}function cX8(Y,X){return[...Y].sort((J,G)=>{for(let W of X){let Z=W.field.join("."),K=yk1(J,Z),Q=yk1(G,Z),H=0;if(K==null&&Q==null)continue;if(K==null)H=W.nulls==="first"?-1:1;else if(Q==null)H=W.nulls==="first"?1:-1;else if(typeof K==="string"&&typeof Q==="string")H=K.localeCompare(Q);else if(typeof K==="number"&&typeof Q==="number")H=K-Q;else H=String(K).localeCompare(String(Q));if(H!==0)return W.direction==="desc"?-H:H}return 0})}var pX8,nX8,bk1;var ZW6=b(()=>{MZ();J4();XI();pX8=k3,nX8=EU(cZ),bk1=n0({name:"COLLECTION_VIRTUAL_MCP_LIST",description:"List all MCP virtual MCPs in the organization",annotations:{title:"List Virtual MCPs",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:pX8,outputSchema:nX8,handler:async(Y,X)=>{await X.access.check();let J=B6(X),G=Y.where&&!("conditions"in Y.where)&&Y.where.field.join(".")==="connection_id"&&Y.where.operator==="eq"&&typeof Y.where.value==="string"?Y.where.value:void 0,Z=G?await X.storage.virtualMcps.listByConnectionId(J.id,G):await X.storage.virtualMcps.list(J.id);if(Y.where)Z=Z.filter((V)=>l91(V,Y.where));if(Y.orderBy&&Y.orderBy.length>0)Z=cX8(Z,Y.orderBy);let K=Z.length,Q=Y.offset??0,H=Y.limit??100,$=Z.slice(Q,Q+H),F=Q+H<K;return{items:$,totalCount:K,hasMore:F}}})});var iX8,aX8,hk1;var QW6=b(()=>{d0();J4();XI();iX8=B.object({id:B.string().describe("ID of the virtual MCP to retrieve")}),aX8=B.object({item:cZ.nullable().describe("The retrieved virtual MCP, or null if not found")}),hk1=n0({name:"COLLECTION_VIRTUAL_MCP_GET",description:"Get an MCP virtual MCP by ID",annotations:{title:"Get Virtual MCP",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:iX8,outputSchema:aX8,handler:async(Y,X)=>{H6(X);let J=B6(X);await X.access.check();let G=await X.storage.virtualMcps.findById(Y.id);if(G&&G.organization_id!==J.id)return{item:null};if(!G)return{item:null};return{item:G}}})});var rX8,oX8,xk1;var KW6=b(()=>{d0();J4();XI();rX8=B.object({id:B.string().describe("ID of the virtual MCP to update"),data:If.describe("Partial virtual MCP data to update")}),oX8=B.object({item:cZ.describe("The updated virtual MCP entity")}),xk1=n0({name:"COLLECTION_VIRTUAL_MCP_UPDATE",description:"Update an MCP virtual MCP",annotations:{title:"Update Virtual MCP",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:rX8,outputSchema:oX8,handler:async(Y,X)=>{H6(X);let J=B6(X);await X.access.check();let G=vX(X);if(!G)throw Error("User ID required to update virtual MCP");let W=await X.storage.virtualMcps.findById(Y.id);if(!W)throw Error(`Virtual MCP not found: ${Y.id}`);if(W.organization_id!==J.id)throw Error(`Virtual MCP not found: ${Y.id}`);return{item:await X.storage.virtualMcps.update(Y.id,G,Y.data)}}})});var sX8,tX8,gk1;var HW6=b(()=>{d0();J4();XI();sX8=B.object({id:B.string().describe("ID of the virtual MCP to delete")}),tX8=B.object({item:cZ.describe("The deleted virtual MCP entity")}),gk1=n0({name:"COLLECTION_VIRTUAL_MCP_DELETE",description:"Delete an MCP virtual MCP",annotations:{title:"Delete Virtual MCP",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:sX8,outputSchema:tX8,handler:async(Y,X)=>{H6(X);let J=B6(X);await X.access.check();let G=await X.storage.virtualMcps.findById(Y.id);if(!G)throw Error(`Virtual MCP not found: ${Y.id}`);if(G.organization_id!==J.id)throw Error(`Virtual MCP not found: ${Y.id}`);return await X.storage.virtualMcps.delete(Y.id),{item:G}}})});var $W6=b(()=>{WW6();ZW6();QW6();KW6();HW6()});var Y58,X58,uk1;var FW6=b(()=>{d0();J4();rU();Y58=B.object({virtual_mcp_id:B.string().describe("ID of the Virtual MCP to add the tool to"),data:AG6.describe("Virtual tool data")}),X58=B.object({item:tF.describe("The created virtual tool")}),uk1=n0({name:"COLLECTION_VIRTUAL_TOOLS_CREATE",description:"Create a new virtual tool on a Virtual MCP. The tool code should be a JavaScript ES module that exports a default async function: export default async (tools, args) => { ... }. Specify connection_dependencies to indicate which connections this tool uses.",annotations:{title:"Create Virtual Tool",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:Y58,outputSchema:X58,handler:async(Y,X)=>{H6(X);let J=B6(X);await X.access.check();let G=await X.storage.virtualMcps.findById(Y.virtual_mcp_id);if(!G||G.organization_id!==J.id)throw Error(`Virtual MCP not found: ${Y.virtual_mcp_id}`);let W=Y.data.connection_dependencies??[];return{item:await X.storage.virtualMcps.createVirtualTool(Y.virtual_mcp_id,Y.data,W)}}})});var J58,G58,mk1;var VW6=b(()=>{d0();J4();rU();J58=B.object({virtual_mcp_id:B.string().describe("ID of the Virtual MCP to list tools for"),limit:B.number().int().min(1).max(1000).optional().describe("Maximum number of items to return"),offset:B.number().int().min(0).optional().describe("Number of items to skip")}),G58=B.object({items:B.array(tF).describe("Array of virtual tools"),totalCount:B.number().int().min(0).optional().describe("Total number of virtual tools"),hasMore:B.boolean().optional().describe("Whether there are more items available")}),mk1=n0({name:"COLLECTION_VIRTUAL_TOOLS_LIST",description:"List all virtual tools for a Virtual MCP",annotations:{title:"List Virtual Tools",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:J58,outputSchema:G58,handler:async(Y,X)=>{H6(X);let J=B6(X);await X.access.check();let G=await X.storage.virtualMcps.findById(Y.virtual_mcp_id);if(!G||G.organization_id!==J.id)return{items:[],totalCount:0,hasMore:!1};let W=await X.storage.virtualMcps.listVirtualTools(Y.virtual_mcp_id),Z=W.length,K=Y.offset??0,Q=Y.limit??100,H=W.slice(K,K+Q),$=K+Q<Z;return{items:H,totalCount:Z,hasMore:$}}})});var W58,Z58,lk1;var zW6=b(()=>{d0();J4();rU();W58=B.object({virtual_mcp_id:B.string().describe("ID of the Virtual MCP"),name:B.string().describe("Name of the virtual tool to retrieve")}),Z58=B.object({item:tF.nullable().describe("The retrieved virtual tool, or null if not found")}),lk1=n0({name:"COLLECTION_VIRTUAL_TOOLS_GET",description:"Get a virtual tool by name from a Virtual MCP",annotations:{title:"Get Virtual Tool",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:W58,outputSchema:Z58,handler:async(Y,X)=>{H6(X);let J=B6(X);await X.access.check();let G=await X.storage.virtualMcps.findById(Y.virtual_mcp_id);if(!G||G.organization_id!==J.id)return{item:null};return{item:await X.storage.virtualMcps.getVirtualTool(Y.virtual_mcp_id,Y.name)}}})});var Q58,K58,dk1;var UW6=b(()=>{d0();J4();rU();Q58=B.object({virtual_mcp_id:B.string().describe("ID of the Virtual MCP"),name:B.string().describe("Current name of the virtual tool to update"),data:PG6.describe("Partial virtual tool data to update")}),K58=B.object({item:tF.describe("The updated virtual tool")}),dk1=n0({name:"COLLECTION_VIRTUAL_TOOLS_UPDATE",description:"Update an existing virtual tool on a Virtual MCP. Specify connection_dependencies to update which connections this tool uses.",annotations:{title:"Update Virtual Tool",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:Q58,outputSchema:K58,handler:async(Y,X)=>{H6(X);let J=B6(X);await X.access.check();let G=await X.storage.virtualMcps.findById(Y.virtual_mcp_id);if(!G||G.organization_id!==J.id)throw Error(`Virtual MCP not found: ${Y.virtual_mcp_id}`);if(!await X.storage.virtualMcps.getVirtualTool(Y.virtual_mcp_id,Y.name))throw Error(`Virtual tool not found: ${Y.name}`);let Z=Y.data.connection_dependencies;return{item:await X.storage.virtualMcps.updateVirtualTool(Y.virtual_mcp_id,Y.name,Y.data,Z)}}})});var H58,$58,ck1;var qW6=b(()=>{d0();J4();rU();H58=B.object({virtual_mcp_id:B.string().describe("ID of the Virtual MCP"),name:B.string().describe("Name of the virtual tool to delete")}),$58=B.object({item:tF.describe("The deleted virtual tool")}),ck1=n0({name:"COLLECTION_VIRTUAL_TOOLS_DELETE",description:"Delete a virtual tool from a Virtual MCP",annotations:{title:"Delete Virtual Tool",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:H58,outputSchema:$58,handler:async(Y,X)=>{H6(X);let J=B6(X);await X.access.check();let G=await X.storage.virtualMcps.findById(Y.virtual_mcp_id);if(!G||G.organization_id!==J.id)throw Error(`Virtual MCP not found: ${Y.virtual_mcp_id}`);let W=await X.storage.virtualMcps.getVirtualTool(Y.virtual_mcp_id,Y.name);if(!W)throw Error(`Virtual tool not found: ${Y.name}`);return await X.storage.virtualMcps.deleteVirtualTool(Y.virtual_mcp_id,Y.name),{item:W}}})});var BW6=b(()=>{FW6();VW6();zW6();UW6();qW6()});var V58,pk1;var DW6=b(()=>{_L();J4();d0();V58=B.object({id:B.string().optional().describe("Unique log identifier"),organizationId:B.string().describe("Organization ID"),connectionId:B.string().describe("Connection ID"),connectionTitle:B.string().describe("Connection display name"),toolName:B.string().describe("Name of the tool that was called"),input:B.record(B.string(),B.unknown()).describe("Redacted tool input"),output:B.record(B.string(),B.unknown()).describe("Redacted tool output"),isError:B.boolean().describe("Whether the call resulted in an error"),errorMessage:B.string().nullish().describe("Error message if applicable"),durationMs:B.number().describe("Call duration in milliseconds"),timestamp:B.string().describe("ISO 8601 timestamp of the call"),userId:B.string().nullish().describe("User who triggered the call"),requestId:B.string().describe("Unique request identifier"),userAgent:B.string().nullish().describe("Client identifier (x-mesh-client header)"),virtualMcpId:B.string().nullish().describe("Virtual MCP (Agent) ID if routed through an agent"),properties:B.record(B.string(),B.string()).nullish().describe("Custom key-value metadata attached to the log")}),pk1=n0({name:"MONITORING_LOGS_LIST",description:"List monitoring logs for tool calls in the organization",annotations:{title:"List Monitoring Logs",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({connectionId:B.string().optional().describe("Filter by connection ID"),excludeConnectionIds:B.array(B.string()).optional().describe("Exclude logs from these connection IDs (e.g. system connections)"),virtualMcpId:B.string().optional().describe("Filter by Virtual MCP (Agent) ID"),toolName:B.string().optional().describe("Filter by tool name"),isError:B.boolean().optional().describe("Filter by error status"),startDate:B.string().datetime().optional().describe("Filter by start date (ISO 8601 datetime string)"),endDate:B.string().datetime().optional().describe("Filter by end date (ISO 8601 datetime string)"),limit:B.number().default(20).describe("Maximum number of results"),offset:B.number().default(0).describe("Offset for pagination"),properties:B.record(B.string(),B.string()).optional().describe("Filter by exact property key=value matches"),propertyKeys:B.array(B.string()).optional().describe("Filter by logs that have these property keys"),propertyPatterns:B.record(B.string(),B.string()).optional().describe("Filter by property value patterns (SQL LIKE, use % as wildcard)"),propertyInValues:B.record(B.string(),B.string()).optional().describe("Filter by exact match within comma-separated values (e.g., user_tags in 'Engineering')")}),outputSchema:B.object({logs:B.array(V58).describe("Array of monitoring logs"),total:B.number().describe("Total number of logs matching filters"),offset:B.number().describe("Current offset for pagination"),limit:B.number().describe("Current limit for pagination")}),handler:async(Y,X)=>{await WM0();let J=B6(X),W=Y.properties||Y.propertyKeys||Y.propertyPatterns||Y.propertyInValues?{properties:Y.properties,propertyKeys:Y.propertyKeys,propertyPatterns:Y.propertyPatterns,propertyInValues:Y.propertyInValues}:void 0,Z={organizationId:J.id,connectionId:Y.connectionId,excludeConnectionIds:Y.excludeConnectionIds,virtualMcpId:Y.virtualMcpId,toolName:Y.toolName,isError:Y.isError,startDate:Y.startDate?new Date(Y.startDate):void 0,endDate:Y.endDate?new Date(Y.endDate):void 0,limit:Y.limit,offset:Y.offset,propertyFilters:W},K=await X.storage.monitoring.query(Z);return{logs:K.logs.map((Q)=>{let H=Q.output,$=H;if(H&&typeof H==="object"&&"structuredContent"in H){let{content:F,...V}=H;$=V}else if(H&&typeof H==="object"&&"content"in H&&Array.isArray(H.content)){let{content:F,...V}=H;$=Object.keys(V).length>0?V:H}return{...Q,output:$,timestamp:Q.timestamp instanceof Date?Q.timestamp.toISOString():Q.timestamp}}),total:K.total,offset:Y.offset,limit:Y.limit}}})});var nk1;var OW6=b(()=>{J4();d0();nk1=n0({name:"MONITORING_STATS",description:"Get aggregated statistics for tool call monitoring",annotations:{title:"Get Monitoring Stats",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({startDate:B.string().datetime().optional().describe("Filter by start date (ISO 8601 datetime string)"),endDate:B.string().datetime().optional().describe("Filter by end date (ISO 8601 datetime string)")}),outputSchema:B.object({totalCalls:B.number().describe("Total number of tool calls"),errorRate:B.number().describe("Error rate as a decimal (0 to 1)"),avgDurationMs:B.number().describe("Average call duration in milliseconds"),errorRatePercent:B.string().describe("Error rate as a percentage string")}),handler:async(Y,X)=>{let G={organizationId:B6(X).id,startDate:Y.startDate?new Date(Y.startDate):void 0,endDate:Y.endDate?new Date(Y.endDate):void 0},W=await X.storage.monitoring.getStats(G);return{...W,errorRatePercent:(W.errorRate*100).toFixed(2)}}})});var LW6=b(()=>{DW6();OW6()});var U58,q58,B58,ik1,D58,O58,bu,hu,EO,L58,N58,NW6;var NA=b(()=>{d0();U58=B.enum(["sum","avg","min","max","count","count_all","last"]).describe("Aggregation function to apply"),q58=B.enum(["metric","timeseries","table"]).describe("Widget display type"),B58=B.object({path:B.string().describe("JSONPath to extract value, e.g., '$.usage.total_tokens'"),from:B.enum(["input","output"]).describe("Extract from tool call input or output")}),ik1=B.enum(["connection_id","connection_title","user_id","tool_name","virtual_mcp_id"]).describe("Table column to group by (takes priority over JSONPath groupBy)"),D58=B.object({fn:U58,groupBy:B.string().optional().describe("Optional JSONPath for grouping results"),groupByColumn:ik1.optional(),interval:B.string().optional().describe("For timeseries widgets: interval like '1h', '1d', '15m'")}),O58=B.object({connectionIds:B.array(B.string()).optional().describe("Filter to specific connections"),toolNames:B.array(B.string()).optional().describe("Filter to specific tools")}),bu=B.object({id:B.string().describe("Unique widget identifier"),name:B.string().describe("Widget display name"),type:q58,source:B58,aggregation:D58,filter:O58.optional()}),hu=B.object({connectionIds:B.array(B.string()).optional().describe("Filter to specific connections"),virtualMcpIds:B.array(B.string()).optional().describe("Filter to specific virtual MCPs/agents"),toolNames:B.array(B.string()).optional().describe("Filter to specific tools"),propertyFilters:B.record(B.string(),B.string()).optional().describe("Filter by exact metadata property key=value matches (e.g., { environment: 'production' })")}),EO=B.object({id:B.string().describe("Unique dashboard identifier"),organizationId:B.string().describe("Organization ID"),name:B.string().describe("Dashboard name"),description:B.string().nullable().describe("Dashboard description"),filters:hu.nullable().describe("Global filters applied to all widgets"),widgets:B.array(bu).describe("Widget definitions"),createdBy:B.string().describe("User ID who created the dashboard"),createdAt:B.string().describe("Creation timestamp"),updatedAt:B.string().describe("Last update timestamp")}),L58=B.object({key:B.string().describe("Group key value"),value:B.number().describe("Aggregated value for this group")}),N58=B.object({timestamp:B.string().describe("Time bucket timestamp"),value:B.number().describe("Aggregated value for this time bucket")}),NW6=B.object({widgetId:B.string().describe("Widget ID this result is for"),value:B.number().nullable().describe("Aggregated value (for metric type)"),groups:B.array(L58).optional().describe("Grouped results (when groupBy is specified)"),timeseries:B.array(N58).optional().describe("Timeseries data (for timeseries type)")})});var ak1;var MW6=b(()=>{J4();d0();NA();ak1=n0({name:"MONITORING_DASHBOARD_CREATE",description:"Create a new monitoring dashboard with JSONPath widgets",annotations:{title:"Create Monitoring Dashboard",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:B.object({name:B.string().min(1).describe("Dashboard name"),description:B.string().optional().describe("Dashboard description"),filters:hu.optional().describe("Global filters applied to all widgets"),widgets:B.array(bu).min(1).describe("Widget definitions (at least one required)")}),outputSchema:EO,handler:async(Y,X)=>{let J=B6(X),G=X.auth.user?.id;if(!G)throw Error("User authentication required");let W=await X.storage.monitoringDashboards.create(J.id,G,{name:Y.name,description:Y.description,filters:Y.filters,widgets:Y.widgets});return{id:W.id,organizationId:W.organizationId,name:W.name,description:W.description,filters:W.filters,widgets:W.widgets,createdBy:W.createdBy,createdAt:W.createdAt instanceof Date?W.createdAt.toISOString():W.createdAt,updatedAt:W.updatedAt instanceof Date?W.updatedAt.toISOString():W.updatedAt}}})});var rk1;var wW6=b(()=>{J4();d0();NA();rk1=n0({name:"MONITORING_DASHBOARD_GET",description:"Get a monitoring dashboard by ID",annotations:{title:"Get Monitoring Dashboard",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({id:B.string().describe("Dashboard ID")}),outputSchema:EO.nullable(),handler:async(Y,X)=>{let J=B6(X),G=await X.storage.monitoringDashboards.get(Y.id);if(!G||G.organizationId!==J.id)return null;return{id:G.id,organizationId:G.organizationId,name:G.name,description:G.description,filters:G.filters,widgets:G.widgets,createdBy:G.createdBy,createdAt:G.createdAt instanceof Date?G.createdAt.toISOString():G.createdAt,updatedAt:G.updatedAt instanceof Date?G.updatedAt.toISOString():G.updatedAt}}})});var ok1;var AW6=b(()=>{J4();d0();NA();ok1=n0({name:"MONITORING_DASHBOARD_LIST",description:"List all monitoring dashboards for the organization",annotations:{title:"List Monitoring Dashboards",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({}),outputSchema:B.object({dashboards:B.array(EO).describe("List of dashboards"),total:B.number().describe("Total number of dashboards")}),handler:async(Y,X)=>{let J=B6(X),G=await X.storage.monitoringDashboards.list(J.id);return{dashboards:G.map((W)=>({id:W.id,organizationId:W.organizationId,name:W.name,description:W.description,filters:W.filters,widgets:W.widgets,createdBy:W.createdBy,createdAt:W.createdAt instanceof Date?W.createdAt.toISOString():W.createdAt,updatedAt:W.updatedAt instanceof Date?W.updatedAt.toISOString():W.updatedAt})),total:G.length}}})});var sk1;var PW6=b(()=>{J4();d0();NA();sk1=n0({name:"MONITORING_DASHBOARD_UPDATE",description:"Update an existing monitoring dashboard",annotations:{title:"Update Monitoring Dashboard",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({id:B.string().describe("Dashboard ID to update"),name:B.string().optional().describe("New dashboard name"),description:B.string().nullable().optional().describe("New dashboard description"),filters:hu.nullable().optional().describe("New global filters"),widgets:B.array(bu).optional().describe("New widget definitions")}),outputSchema:EO,handler:async(Y,X)=>{let J=B6(X),G=await X.storage.monitoringDashboards.get(Y.id);if(!G||G.organizationId!==J.id)throw Error(`Dashboard ${Y.id} not found`);let W={};if(Y.name!==void 0)W.name=Y.name;if(Y.description!==void 0)W.description=Y.description;if(Y.filters!==void 0)W.filters=Y.filters;if(Y.widgets!==void 0)W.widgets=Y.widgets;let Z=await X.storage.monitoringDashboards.update(Y.id,W);return{id:Z.id,organizationId:Z.organizationId,name:Z.name,description:Z.description,filters:Z.filters,widgets:Z.widgets,createdBy:Z.createdBy,createdAt:Z.createdAt instanceof Date?Z.createdAt.toISOString():Z.createdAt,updatedAt:Z.updatedAt instanceof Date?Z.updatedAt.toISOString():Z.updatedAt}}})});var tk1;var EW6=b(()=>{J4();d0();tk1=n0({name:"MONITORING_DASHBOARD_DELETE",description:"Delete a monitoring dashboard",annotations:{title:"Delete Monitoring Dashboard",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({id:B.string().describe("Dashboard ID to delete")}),outputSchema:B.object({success:B.boolean().describe("Whether the deletion was successful")}),handler:async(Y,X)=>{let J=B6(X),G=await X.storage.monitoringDashboards.get(Y.id);if(!G||G.organizationId!==J.id)throw Error(`Dashboard ${Y.id} not found`);return await X.storage.monitoringDashboards.delete(Y.id),{success:!0}}})});var ek1;var RW6=b(()=>{J4();d0();NA();ek1=n0({name:"MONITORING_DASHBOARD_QUERY",description:"Execute a dashboard's widgets and return aggregated monitoring data",annotations:{title:"Query Monitoring Dashboard",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({dashboardId:B.string().describe("Dashboard ID to query"),timeRange:B.object({startDate:B.string().datetime().describe("Start of time range (ISO 8601)"),endDate:B.string().datetime().describe("End of time range (ISO 8601)")}).optional().describe("Time range for the query (defaults to last 24 hours)"),propertyFilters:B.object({properties:B.record(B.string(),B.string()).optional().describe("Exact match: property key equals value"),propertyKeys:B.array(B.string()).optional().describe("Exists: filter logs that have these property keys"),propertyPatterns:B.record(B.string(),B.string()).optional().describe("Pattern match: property value matches pattern (SQL LIKE, use % as wildcard)"),propertyInValues:B.record(B.string(),B.string()).optional().describe("In match: exact match within comma-separated values")}).optional().describe("Runtime property filters applied to all widgets (merged with dashboard-level filters)")}),outputSchema:B.object({dashboardId:B.string().describe("Dashboard ID"),results:B.array(NW6).describe("Widget query results"),timeRange:B.object({startDate:B.string(),endDate:B.string()}).describe("Time range used for the query")}),handler:async(Y,X)=>{let J=B6(X),G=await X.storage.monitoringDashboards.get(Y.dashboardId);if(!G||G.organizationId!==J.id)throw Error(`Dashboard ${Y.dashboardId} not found`);let W=new Date,Z=Y.timeRange?.startDate?new Date(Y.timeRange.startDate):new Date(W.getTime()-86400000),K=Y.timeRange?.endDate?new Date(Y.timeRange.endDate):W,Q=await Promise.all(G.widgets.map(async(H)=>{let $=G.filters?.propertyFilters,F=Y.propertyFilters,V=$||F?{properties:{...$,...F?.properties},propertyKeys:F?.propertyKeys,propertyPatterns:F?.propertyPatterns,propertyInValues:F?.propertyInValues}:void 0,z={connectionIds:H.filter?.connectionIds??G.filters?.connectionIds??void 0,virtualMcpIds:G.filters?.virtualMcpIds??void 0,toolNames:H.filter?.toolNames??G.filters?.toolNames??void 0,startDate:Z,endDate:K,propertyFilters:V};try{let U=await X.storage.monitoring.aggregate({organizationId:J.id,path:H.source.path,from:H.source.from,aggregation:H.aggregation.fn,groupBy:H.aggregation.groupBy,groupByColumn:H.aggregation.groupByColumn,interval:H.aggregation.interval,filters:z});return{widgetId:H.id,value:U.value,groups:U.groups,timeseries:U.timeseries}}catch(U){return console.error(`Widget ${H.id} aggregation failed:`,U),{widgetId:H.id,value:null,groups:void 0,timeseries:void 0}}}));return{dashboardId:Y.dashboardId,results:Q,timeRange:{startDate:Z.toISOString(),endDate:K.toISOString()}}}})});var M58,Y_1;var TW6=b(()=>{J4();d0();NA();M58=B.object({type:B.enum(["metric","timeseries","table"]),source:B.object({path:B.string().describe("JSONPath to extract value from"),from:B.enum(["input","output"]).describe("Extract from input or output")}),aggregation:B.object({fn:B.enum(["sum","avg","min","max","count","count_all","last"]).describe("Aggregation function"),groupBy:B.string().optional().describe("JSONPath for grouping (table)"),groupByColumn:ik1.optional(),interval:B.string().optional().describe("Time interval for timeseries (15m, 1h, 1d)"),limit:B.number().int().positive().optional().describe("Max number of groups to return (applies to groupBy/groupByColumn, ordered by value desc)")}),filter:B.object({connectionIds:B.array(B.string()).optional(),toolNames:B.array(B.string()).optional()}).optional()}),Y_1=n0({name:"MONITORING_WIDGET_PREVIEW",description:"Preview a widget aggregation without saving. Used to test queries in the dashboard editor.",annotations:{title:"Preview Monitoring Widget",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({widget:M58.describe("Widget configuration to preview"),timeRange:B.object({startDate:B.string().datetime().describe("Start of time range (ISO 8601)"),endDate:B.string().datetime().describe("End of time range (ISO 8601)")}).optional().describe("Time range for the query (defaults to last 24 hours)"),propertyFilters:B.object({properties:B.record(B.string(),B.string()).optional().describe("Exact match: property key equals value"),propertyKeys:B.array(B.string()).optional().describe("Exists: filter logs that have these property keys"),propertyPatterns:B.record(B.string(),B.string()).optional().describe("Pattern match: property value matches pattern (SQL LIKE)"),propertyInValues:B.record(B.string(),B.string()).optional().describe("In match: exact match within comma-separated values")}).optional().describe("Property filters to apply"),skipCount:B.boolean().optional().describe("Skip the countMatched query to reduce database load when the count is not needed")}),outputSchema:B.object({value:B.number().nullable().optional().describe("Aggregated value"),groups:B.array(B.object({key:B.string(),value:B.number()})).optional().describe("Grouped results for table widgets"),timeseries:B.array(B.object({timestamp:B.string(),value:B.number()})).optional().describe("Timeseries data points"),matchedRecords:B.number().optional().describe("Number of records that matched (omitted when skipCount is true)"),timeRange:B.object({startDate:B.string(),endDate:B.string()}).describe("Time range used for the query")}),handler:async(Y,X)=>{let J=B6(X),{widget:G,timeRange:W}=Y,Z=new Date,K=W?.startDate?new Date(W.startDate):new Date(Z.getTime()-86400000),Q=W?.endDate?new Date(W.endDate):Z,H={connectionIds:G.filter?.connectionIds,toolNames:G.filter?.toolNames,startDate:K,endDate:Q,propertyFilters:Y.propertyFilters};try{let $=Y.skipCount?void 0:await X.storage.monitoring.countMatched({organizationId:J.id,path:G.source.path,from:G.source.from,filters:H}),F=await X.storage.monitoring.aggregate({organizationId:J.id,path:G.source.path,from:G.source.from,aggregation:G.aggregation.fn,groupBy:G.aggregation.groupBy,groupByColumn:G.aggregation.groupByColumn,interval:G.aggregation.interval,limit:G.aggregation.limit,filters:H});return{value:F.value,groups:F.groups,timeseries:F.timeseries,matchedRecords:$,timeRange:{startDate:K.toISOString(),endDate:Q.toISOString()}}}catch($){return console.error("Widget preview aggregation failed:",$),{value:null,matchedRecords:void 0,timeRange:{startDate:K.toISOString(),endDate:Q.toISOString()}}}}})});var CW6=b(()=>{MW6();wW6();AW6();PW6();EW6();RW6();TW6()});var X_1;var jW6=b(()=>{d0();J4();X_1=n0({name:"ORGANIZATION_CREATE",description:"Create a new organization",annotations:{title:"Create Organization",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:B.object({slug:B.string().min(1).max(50).regex(/^[a-z0-9-]+$/,"Slug must be lowercase alphanumeric with hyphens"),name:B.string().min(1).max(255),description:B.string().optional()}),outputSchema:B.object({id:B.string(),name:B.string(),slug:B.string(),logo:B.string().nullable().optional(),metadata:B.any().optional(),createdAt:B.string().datetime().describe("ISO 8601 timestamp"),members:B.array(B.any()).optional()}),handler:async(Y,X)=>{H6(X),await X.access.check();let J=vX(X);if(!J)throw Error("User ID required to create organization");let G=await X.boundAuth.organization.create({name:Y.name,slug:Y.slug,metadata:Y.description?{description:Y.description}:void 0,userId:J});if(!G)throw Error("Failed to create organization");return{...G,createdAt:G.createdAt instanceof Date?G.createdAt.toISOString():G.createdAt}}})});var J_1;var IW6=b(()=>{d0();J4();J_1=n0({name:"ORGANIZATION_LIST",description:"List all organizations user has access to",annotations:{title:"List Organizations",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({userId:B.string().optional()}),outputSchema:B.object({organizations:B.array(B.object({id:B.string(),name:B.string(),slug:B.string(),logo:B.string().nullable().optional(),metadata:B.any().optional(),createdAt:B.string().datetime().describe("ISO 8601 timestamp")}))}),handler:async(Y,X)=>{H6(X),await X.access.check();let J=vX(X),G=Y.userId||J;if(!G)throw Error("User ID required to list organizations");return{organizations:(await X.boundAuth.organization.list(G)).map((Z)=>({...Z,createdAt:Z.createdAt instanceof Date?Z.createdAt.toISOString():Z.createdAt}))}}})});var G_1;var SW6=b(()=>{d0();J4();G_1=n0({name:"ORGANIZATION_GET",description:"Get organization details by slug or ID",annotations:{title:"Get Organization",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({}),outputSchema:B.object({id:B.string(),name:B.string(),slug:B.string(),logo:B.string().nullable().optional(),metadata:B.any().optional(),createdAt:B.string().datetime().describe("ISO 8601 timestamp"),members:B.array(B.any()).optional(),invitations:B.array(B.any()).optional()}),handler:async(Y,X)=>{H6(X),await X.access.check();let J=await X.boundAuth.organization.get();if(!J)throw Error("No active organization found");let G=new Date,W=J.invitations?.filter((Z)=>new Date(Z.expiresAt)>G);return{...J,invitations:W,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt}}})});var W_1;var kW6=b(()=>{d0();J4();W_1=n0({name:"ORGANIZATION_UPDATE",description:"Update an existing organization",annotations:{title:"Update Organization",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({id:B.string(),slug:B.string().min(1).max(50).regex(/^[a-z0-9-]+$/).optional(),name:B.string().min(1).max(255).optional(),description:B.string().optional()}),outputSchema:B.object({id:B.string(),name:B.string(),slug:B.string(),logo:B.string().nullable().optional(),metadata:B.any().optional(),createdAt:B.string().datetime().describe("ISO 8601 timestamp")}),handler:async(Y,X)=>{H6(X),await X.access.check();let J={};if(Y.name)J.name=Y.name;if(Y.slug)J.slug=Y.slug;if(Y.description)J.metadata={description:Y.description};let G=await X.boundAuth.organization.update({organizationId:Y.id,data:J});if(!G)throw Error("Failed to update organization");return{...G,createdAt:G.createdAt instanceof Date?G.createdAt.toISOString():G.createdAt}}})});var Z_1;var _W6=b(()=>{d0();J4();Z_1=n0({name:"ORGANIZATION_DELETE",description:"Delete an organization",annotations:{title:"Delete Organization",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({id:B.string()}),outputSchema:B.object({success:B.boolean(),id:B.string()}),handler:async(Y,X)=>{return H6(X),await X.access.check(),await X.boundAuth.organization.delete(Y.id),{success:!0,id:Y.id}}})});var xu;var Q_1=b(()=>{d0();xu=B.object({title:B.string(),url:B.string(),icon:B.string()})});var K_1;var vW6=b(()=>{d0();J4();Q_1();K_1=n0({name:"ORGANIZATION_SETTINGS_GET",description:"Get organization-level settings",annotations:{title:"Get Organization Settings",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({}),outputSchema:B.object({organizationId:B.string(),sidebar_items:B.array(xu).nullable().optional(),enabled_plugins:B.array(B.string()).nullable().optional(),createdAt:B.string().datetime().optional().describe("ISO 8601 timestamp"),updatedAt:B.string().datetime().optional().describe("ISO 8601 timestamp")}),handler:async(Y,X)=>{H6(X),await X.access.check();let J=X.organization?.id;if(!J)throw Error("Organization ID required (no active organization in context)");let G=await X.storage.organizationSettings.get(J);if(!G)return{organizationId:J};return{...G,createdAt:G.createdAt instanceof Date?G.createdAt.toISOString():G.createdAt,updatedAt:G.updatedAt instanceof Date?G.updatedAt.toISOString():G.updatedAt}}})});var H_1;var fW6=b(()=>{d0();J4();Q_1();H_1=n0({name:"ORGANIZATION_SETTINGS_UPDATE",description:"Update organization-level settings",annotations:{title:"Update Organization Settings",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({organizationId:B.string(),sidebar_items:B.array(xu).optional(),enabled_plugins:B.array(B.string()).optional()}),outputSchema:B.object({organizationId:B.string(),sidebar_items:B.array(xu).nullable().optional(),enabled_plugins:B.array(B.string()).nullable().optional(),createdAt:B.string().datetime().describe("ISO 8601 timestamp"),updatedAt:B.string().datetime().describe("ISO 8601 timestamp")}),handler:async(Y,X)=>{if(H6(X),await X.access.check(),X.organization&&X.organization.id!==Y.organizationId)throw Error("Cannot update settings for a different organization");let J=await X.storage.organizationSettings.upsert(Y.organizationId,{sidebar_items:Y.sidebar_items,enabled_plugins:Y.enabled_plugins});return{...J,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt,updatedAt:J.updatedAt instanceof Date?J.updatedAt.toISOString():J.updatedAt}}})});var $_1;var yW6=b(()=>{d0();J4();$_1=n0({name:"ORGANIZATION_MEMBER_ADD",description:"Add a member to an organization",annotations:{title:"Add Organization Member",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({organizationId:B.string().optional(),userId:B.string(),role:B.array(B.string())}),outputSchema:B.object({id:B.string(),organizationId:B.string(),userId:B.string(),role:B.union([B.string(),B.array(B.string())]),createdAt:B.string().datetime().describe("ISO 8601 timestamp")}),handler:async(Y,X)=>{H6(X),await X.access.check();let J=Y.organizationId||X.organization?.id;if(!J)throw Error("Organization ID required (no active organization in context)");if(J!==X.organization?.id)throw Error("Organization ID does not match authenticated organization");let G=await X.boundAuth.organization.addMember({organizationId:J,userId:Y.userId,role:Y.role});if(!G)throw Error("Failed to add member");return{...G,role:G.role,createdAt:G.createdAt instanceof Date?G.createdAt.toISOString():G.createdAt}}})});var F_1;var bW6=b(()=>{d0();J4();F_1=n0({name:"ORGANIZATION_MEMBER_REMOVE",description:"Remove a member from an organization",annotations:{title:"Remove Organization Member",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({organizationId:B.string().optional(),memberIdOrEmail:B.string()}),outputSchema:B.object({success:B.boolean(),memberIdOrEmail:B.string()}),handler:async(Y,X)=>{H6(X),await X.access.check();let J=Y.organizationId||X.organization?.id;if(!J)throw Error("Organization ID required (no active organization in context)");return await X.boundAuth.organization.removeMember({organizationId:J,memberIdOrEmail:Y.memberIdOrEmail}),{success:!0,memberIdOrEmail:Y.memberIdOrEmail}}})});var V_1;var hW6=b(()=>{d0();J4();V_1=n0({name:"ORGANIZATION_MEMBER_LIST",description:"List all members in an organization",annotations:{title:"List Organization Members",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({limit:B.number().optional(),offset:B.number().optional()}),outputSchema:B.object({members:B.array(B.object({id:B.string(),organizationId:B.string(),userId:B.string(),role:B.string(),createdAt:B.string().datetime().describe("ISO 8601 timestamp"),user:B.object({id:B.string(),name:B.string(),email:B.string(),image:B.string().optional()}).optional()}))}),handler:async(Y,X)=>{H6(X),await X.access.check();let J=X.organization?.id;if(!J)throw Error("Organization ID required (no active organization in context)");let G=await X.boundAuth.organization.listMembers({organizationId:J,limit:Y.limit,offset:Y.offset});return{members:(Array.isArray(G)?G:[]).map((Z)=>({...Z,createdAt:Z.createdAt instanceof Date?Z.createdAt.toISOString():Z.createdAt}))}}})});var z_1;var xW6=b(()=>{d0();J4();z_1=n0({name:"ORGANIZATION_MEMBER_UPDATE_ROLE",description:"Update a member's role in an organization",annotations:{title:"Update Member Role",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({organizationId:B.string().optional(),memberId:B.string(),role:B.array(B.string())}),outputSchema:B.object({id:B.string(),organizationId:B.string(),userId:B.string(),role:B.union([B.literal("admin"),B.literal("member"),B.literal("owner")]),createdAt:B.string().datetime().describe("ISO 8601 timestamp"),user:B.object({email:B.string(),name:B.string(),image:B.string().optional()})}),handler:async(Y,X)=>{H6(X),await X.access.check();let J=Y.organizationId||X.organization?.id;if(!J)throw Error("Organization ID required (no active organization in context)");let G=await X.boundAuth.organization.updateMemberRole({organizationId:J,memberId:Y.memberId,role:Y.role});if(!G)throw Error("Failed to update member role");return{...G,createdAt:G.createdAt instanceof Date?G.createdAt.toISOString():G.createdAt}}})});var gW6=b(()=>{jW6();IW6();SW6();kW6();_W6();vW6();fW6();yW6();bW6();hW6();xW6()});var P58,d91,E58,sU,uW6,c91;var RO=b(()=>{d0();P58=B.object({banner:B.string().nullable(),bannerColor:B.string().nullable(),icon:B.string().nullable(),themeColor:B.string().nullable()}),d91=B.object({banner:B.string().nullable().optional(),bannerColor:B.string().nullable().optional(),icon:B.string().nullable().optional(),themeColor:B.string().nullable().optional()}),E58=B.object({id:B.string(),title:B.string(),icon:B.string().nullable()}),sU=B.object({id:B.string(),organizationId:B.string(),slug:B.string(),name:B.string(),description:B.string().nullable(),enabledPlugins:B.array(B.string()).nullable(),ui:P58.nullable(),createdAt:B.string().datetime().describe("ISO 8601 timestamp"),updatedAt:B.string().datetime().describe("ISO 8601 timestamp")}),uW6=sU.omit({organizationId:!0}).extend({boundConnections:B.array(E58)}),c91=B.object({id:B.string(),projectId:B.string(),pluginId:B.string(),connectionId:B.string().nullable(),settings:B.record(B.string(),B.unknown()).nullable(),createdAt:B.string().datetime().describe("ISO 8601 timestamp"),updatedAt:B.string().datetime().describe("ISO 8601 timestamp")})});var U_1;var mW6=b(()=>{d0();J4();RO();U_1=n0({name:"PROJECT_LIST",description:"List all projects in an organization",annotations:{title:"List Projects",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({organizationId:B.string().describe("Organization ID to list projects for")}),outputSchema:B.object({projects:B.array(uW6)}),handler:async(Y,X)=>{H6(X),await X.access.check();let J=await X.storage.projects.list(Y.organizationId),G=J.map((Z)=>Z.id),W=await X.storage.projectPluginConfigs.getBoundConnectionsForProjects(G);return{projects:J.map((Z)=>({id:Z.id,slug:Z.slug,name:Z.name,description:Z.description,enabledPlugins:Z.enabledPlugins,ui:Z.ui,boundConnections:W.get(Z.id)??[],createdAt:Z.createdAt instanceof Date?Z.createdAt.toISOString():Z.createdAt,updatedAt:Z.updatedAt instanceof Date?Z.updatedAt.toISOString():Z.updatedAt}))}}})});var q_1;var lW6=b(()=>{d0();J4();RO();q_1=n0({name:"PROJECT_GET",description:"Get a project by ID or slug",annotations:{title:"Get Project",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({organizationId:B.string().describe("Organization ID"),projectId:B.string().optional().describe("Project ID (either this or slug required)"),slug:B.string().optional().describe("Project slug (either this or projectId required)")}).refine((Y)=>Y.projectId||Y.slug,{message:"Either projectId or slug must be provided"}),outputSchema:B.object({project:sU.nullable()}),handler:async(Y,X)=>{H6(X),await X.access.check();let J=null;if(Y.projectId)J=await X.storage.projects.get(Y.projectId);else if(Y.slug)J=await X.storage.projects.getBySlug(Y.organizationId,Y.slug);if(!J)return{project:null};return{project:{id:J.id,organizationId:J.organizationId,slug:J.slug,name:J.name,description:J.description,enabledPlugins:J.enabledPlugins,ui:J.ui,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt,updatedAt:J.updatedAt instanceof Date?J.updatedAt.toISOString():J.updatedAt}}}})});var B_1;var dW6=b(()=>{d0();XX();J4();RO();B_1=n0({name:"PROJECT_CREATE",description:"Create a new project in an organization",annotations:{title:"Create Project",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:B.object({organizationId:B.string().describe("Organization ID"),slug:B.string().min(1).max(100).regex(/^[a-z0-9-]+$/,"Slug must be lowercase alphanumeric with hyphens").describe("URL-friendly identifier"),name:B.string().min(1).max(200).describe("Display name"),description:B.string().max(1000).nullable().optional().describe("Project description"),enabledPlugins:B.array(B.string()).nullable().optional().describe("Plugin IDs to enable"),ui:d91.nullable().optional().describe("UI customization")}),outputSchema:B.object({project:sU}),handler:async(Y,X)=>{H6(X),await X.access.check();let{organizationId:J,slug:G,name:W,description:Z,enabledPlugins:K,ui:Q}=Y;if(G===oV)throw Error(`Slug "${oV}" is reserved`);if(await X.storage.projects.getBySlug(J,G))throw Error(`Project with slug "${G}" already exists in this organization`);let $=Q?{banner:Q.banner??null,bannerColor:Q.bannerColor??null,icon:Q.icon??null,themeColor:Q.themeColor??null}:null,F=await X.storage.projects.create({organizationId:J,slug:G,name:W,description:Z??null,enabledPlugins:K??null,ui:$});return{project:{id:F.id,organizationId:F.organizationId,slug:F.slug,name:F.name,description:F.description,enabledPlugins:F.enabledPlugins,ui:F.ui,createdAt:F.createdAt instanceof Date?F.createdAt.toISOString():F.createdAt,updatedAt:F.updatedAt instanceof Date?F.updatedAt.toISOString():F.updatedAt}}}})});var D_1;var cW6=b(()=>{d0();J4();RO();D_1=n0({name:"PROJECT_UPDATE",description:"Update a project's details",annotations:{title:"Update Project",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({projectId:B.string().describe("Project ID to update"),name:B.string().min(1).max(200).optional().describe("New display name"),description:B.string().max(1000).nullable().optional().describe("New description"),enabledPlugins:B.array(B.string()).nullable().optional().describe("Updated plugin IDs"),ui:d91.nullable().optional().describe("Updated UI customization")}),outputSchema:B.object({project:sU.nullable()}),handler:async(Y,X)=>{H6(X),await X.access.check();let{projectId:J,name:G,description:W,enabledPlugins:Z,ui:K}=Y,Q={};if(G!==void 0)Q.name=G;if(W!==void 0)Q.description=W;if(Z!==void 0)Q.enabledPlugins=Z;if(K!==void 0)Q.ui=K?{banner:K.banner??null,bannerColor:K.bannerColor??null,icon:K.icon??null,themeColor:K.themeColor??null}:null;let H=await X.storage.projects.update(J,Q);if(!H)return{project:null};return{project:{id:H.id,organizationId:H.organizationId,slug:H.slug,name:H.name,description:H.description,enabledPlugins:H.enabledPlugins,ui:H.ui,createdAt:H.createdAt instanceof Date?H.createdAt.toISOString():H.createdAt,updatedAt:H.updatedAt instanceof Date?H.updatedAt.toISOString():H.updatedAt}}}})});var O_1;var pW6=b(()=>{d0();XX();J4();O_1=n0({name:"PROJECT_DELETE",description:"Delete a project (cannot delete org-admin)",annotations:{title:"Delete Project",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({projectId:B.string().describe("Project ID to delete")}),outputSchema:B.object({success:B.boolean(),message:B.string().optional()}),handler:async(Y,X)=>{H6(X),await X.access.check();let{projectId:J}=Y,G=await X.storage.projects.get(J);if(!G)return{success:!1,message:"Project not found"};if(G.slug===oV)return{success:!1,message:"Cannot delete the org-admin project"};return{success:await X.storage.projects.delete(J)}}})});var L_1;var nW6=b(()=>{d0();J4();RO();L_1=n0({name:"PROJECT_PLUGIN_CONFIG_GET",description:"Get plugin configuration for a project",annotations:{title:"Get Project Plugin Config",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({projectId:B.string().describe("Project ID"),pluginId:B.string().describe("Plugin ID")}),outputSchema:B.object({config:c91.nullable()}),handler:async(Y,X)=>{H6(X),await X.access.check();let{projectId:J,pluginId:G}=Y,W=await X.storage.projectPluginConfigs.get(J,G);if(!W)return{config:null};return{config:{id:W.id,projectId:W.projectId,pluginId:W.pluginId,connectionId:W.connectionId,settings:W.settings,createdAt:W.createdAt instanceof Date?W.createdAt.toISOString():W.createdAt,updatedAt:W.updatedAt instanceof Date?W.updatedAt.toISOString():W.updatedAt}}}})});var N_1;var iW6=b(()=>{d0();J4();RO();f91();TD();N_1=n0({name:"PROJECT_PLUGIN_CONFIG_UPDATE",description:"Update or create plugin configuration for a project",annotations:{title:"Update Project Plugin Config",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({projectId:B.string().describe("Project ID"),pluginId:B.string().describe("Plugin ID"),connectionId:B.string().nullable().optional().describe("MCP connection to bind"),settings:B.record(B.string(),B.unknown()).nullable().optional().describe("Plugin-specific settings")}),outputSchema:B.object({config:c91}),handler:async(Y,X)=>{H6(X),await X.access.check();let{projectId:J,pluginId:G,connectionId:W,settings:Z}=Y,K=vX(X),Q=await X.storage.projects.get(J);if(!Q)throw Error(`Project not found: ${J}`);let H=W?await X.storage.connections.findById(W):null;if(W&&Q.organizationId&&!H&&ij()){if(v91(W,Q.organizationId)){if(!K)throw Error("User ID required to create dev-assets connection");let F=aj(Q.organizationId,qQ());await X.storage.connections.create({...F,organization_id:Q.organizationId,created_by:K})}}let $=await X.storage.projectPluginConfigs.upsert(J,G,{connectionId:W,settings:Z});return{config:{id:$.id,projectId:$.projectId,pluginId:$.pluginId,connectionId:$.connectionId,settings:$.settings,createdAt:$.createdAt instanceof Date?$.createdAt.toISOString():$.createdAt,updatedAt:$.updatedAt instanceof Date?$.updatedAt.toISOString():$.updatedAt}}}})});var R58,M_1;var aW6=b(()=>{d0();J4();R58=B.object({id:B.string(),title:B.string(),icon:B.string().nullable(),connectionType:B.string(),status:B.string()}),M_1=n0({name:"PROJECT_CONNECTION_LIST",description:"List connections associated with a project",annotations:{title:"List Project Connections",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({projectId:B.string().describe("Project ID")}),outputSchema:B.object({connections:B.array(R58)}),handler:async(Y,X)=>{H6(X);let J=B6(X);await X.access.check();let{projectId:G}=Y,W=await X.storage.projects.get(G);if(!W||W.organizationId!==J.id)throw Error(`Project not found: ${G}`);let Z=await X.storage.projectConnections.list(G);return{connections:(await Promise.all(Z.map((H)=>X.storage.connections.findById(H.connectionId)))).filter((H)=>H!=null).map((H)=>({id:H.id,title:H.title,icon:H.icon??null,connectionType:H.connection_type,status:H.status}))}}})});var w_1;var rW6=b(()=>{d0();J4();w_1=n0({name:"PROJECT_CONNECTION_ADD",description:"Associate a connection with a project",annotations:{title:"Add Project Connection",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({projectId:B.string().describe("Project ID"),connectionId:B.string().describe("Connection ID to associate")}),outputSchema:B.object({success:B.boolean(),projectConnectionId:B.string()}),handler:async(Y,X)=>{H6(X);let J=B6(X);await X.access.check();let{projectId:G,connectionId:W}=Y,Z=await X.storage.projects.get(G);if(!Z||Z.organizationId!==J.id)throw Error(`Project not found: ${G}`);let K=await X.storage.connections.findById(W);if(!K||K.organization_id!==J.id)throw Error(`Connection not found: ${W}`);return{success:!0,projectConnectionId:(await X.storage.projectConnections.add(G,W)).id}}})});var A_1;var oW6=b(()=>{d0();J4();A_1=n0({name:"PROJECT_CONNECTION_REMOVE",description:"Remove a connection association from a project",annotations:{title:"Remove Project Connection",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({projectId:B.string().describe("Project ID"),connectionId:B.string().describe("Connection ID to disassociate")}),outputSchema:B.object({success:B.boolean()}),handler:async(Y,X)=>{H6(X);let J=B6(X);await X.access.check();let{projectId:G,connectionId:W}=Y,Z=await X.storage.projects.get(G);if(!Z||Z.organizationId!==J.id)throw Error(`Project not found: ${G}`);let K=await X.storage.connections.findById(W);if(!K||K.organization_id!==J.id)throw Error(`Connection not found: ${W}`);let Q=await X.storage.projectConnections.remove(G,W);if(Z?.ui?.pinnedViews?.length){let H=Z.ui.pinnedViews.filter(($)=>$.connectionId!==W);if(H.length!==Z.ui.pinnedViews.length){let $={...Z.ui,pinnedViews:H.length>0?H:null};await X.storage.projects.update(G,{ui:$})}}return{success:Q}}})});var T58,P_1;var sW6=b(()=>{d0();J4();RO();T58=B.object({connectionId:B.string(),toolName:B.string(),label:B.string(),icon:B.string().nullable()}),P_1=n0({name:"PROJECT_PINNED_VIEWS_UPDATE",description:"Update the pinned sidebar views for a project",annotations:{title:"Update Pinned Views",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({projectId:B.string().describe("Project ID"),pinnedViews:B.array(T58).describe("Pinned views to set for the project sidebar")}),outputSchema:B.object({project:sU.nullable()}),handler:async(Y,X)=>{H6(X),await X.access.check();let{projectId:J,pinnedViews:G}=Y,W=await X.storage.projects.get(J);if(!W)throw Error(`Project not found: ${J}`);let K={...W.ui??{banner:null,bannerColor:null,icon:null,themeColor:null},pinnedViews:G.length>0?G:null},Q=await X.storage.projects.update(J,{ui:K});if(!Q)return{project:null};return{project:{id:Q.id,organizationId:Q.organizationId,slug:Q.slug,name:Q.name,description:Q.description,enabledPlugins:Q.enabledPlugins,ui:Q.ui,createdAt:Q.createdAt instanceof Date?Q.createdAt.toISOString():Q.createdAt,updatedAt:Q.updatedAt instanceof Date?Q.updatedAt.toISOString():Q.updatedAt}}}})});var tW6=b(()=>{mW6();lW6();dW6();cW6();pW6();nW6();iW6();aW6();rW6();oW6();sW6()});var E_1;var eW6=b(()=>{d0();J4();E_1=n0({name:"TAGS_LIST",description:"List all tags in an organization",annotations:{title:"List Tags",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({}),outputSchema:B.object({tags:B.array(B.object({id:B.string(),organizationId:B.string(),name:B.string(),createdAt:B.string().describe("ISO 8601 timestamp")}))}),handler:async(Y,X)=>{H6(X),await X.access.check();let J=B6(X);return{tags:(await X.storage.tags.listOrgTags(J.id)).map((W)=>({...W,createdAt:W.createdAt instanceof Date?W.createdAt.toISOString():String(W.createdAt)}))}}})});var R_1;var YZ6=b(()=>{d0();J4();R_1=n0({name:"TAGS_CREATE",description:"Create a new tag in an organization",annotations:{title:"Create Tag",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:B.object({name:B.string().min(1).max(50).describe("Tag name")}),outputSchema:B.object({tag:B.object({id:B.string(),organizationId:B.string(),name:B.string(),createdAt:B.string().describe("ISO 8601 timestamp")})}),handler:async(Y,X)=>{H6(X),await X.access.check();let J=B6(X),G=await X.storage.tags.createTag(J.id,Y.name);return{tag:{...G,createdAt:G.createdAt instanceof Date?G.createdAt.toISOString():String(G.createdAt)}}}})});var T_1;var XZ6=b(()=>{d0();J4();T_1=n0({name:"TAGS_DELETE",description:"Delete a tag from an organization (removes from all members)",annotations:{title:"Delete Tag",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({tagId:B.string().describe("Tag ID to delete")}),outputSchema:B.object({success:B.boolean()}),handler:async(Y,X)=>{H6(X),await X.access.check();let J=B6(X),G=await X.storage.tags.getTag(Y.tagId);if(!G)throw Error("Tag not found");if(G.organizationId!==J.id)throw Error("Tag does not belong to this organization");return await X.storage.tags.deleteTag(Y.tagId),{success:!0}}})});var C_1;var JZ6=b(()=>{d0();J4();C_1=n0({name:"MEMBER_TAGS_GET",description:"Get tags assigned to a member",annotations:{title:"Get Member Tags",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({memberId:B.string().describe("Member ID")}),outputSchema:B.object({tags:B.array(B.object({id:B.string(),organizationId:B.string(),name:B.string(),createdAt:B.string().describe("ISO 8601 timestamp")}))}),handler:async(Y,X)=>{H6(X),await X.access.check();let J=B6(X);if(!await X.storage.tags.verifyMemberOrg(Y.memberId,J.id))throw Error(`Member not found in this organization: ${Y.memberId}`);return{tags:(await X.storage.tags.getMemberTags(Y.memberId)).map((Z)=>({...Z,createdAt:Z.createdAt instanceof Date?Z.createdAt.toISOString():String(Z.createdAt)}))}}})});var j_1;var GZ6=b(()=>{d0();J4();j_1=n0({name:"MEMBER_TAGS_SET",description:"Set tags for a member (replaces all existing tags)",annotations:{title:"Set Member Tags",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:B.object({memberId:B.string().describe("Member ID"),tagIds:B.array(B.string()).describe("Array of tag IDs to assign")}),outputSchema:B.object({success:B.boolean(),tags:B.array(B.object({id:B.string(),organizationId:B.string(),name:B.string(),createdAt:B.string().describe("ISO 8601 timestamp")}))}),handler:async(Y,X)=>{H6(X),await X.access.check();let J=B6(X);if(!await X.storage.tags.verifyMemberOrg(Y.memberId,J.id))throw Error(`Member not found in this organization: ${Y.memberId}`);for(let Z of Y.tagIds){let K=await X.storage.tags.getTag(Z);if(!K)throw Error(`Tag not found: ${Z}`);if(K.organizationId!==J.id)throw Error(`Tag does not belong to this organization: ${Z}`)}return await X.storage.tags.setMemberTags(Y.memberId,Y.tagIds),{success:!0,tags:(await X.storage.tags.getMemberTags(Y.memberId)).map((Z)=>({...Z,createdAt:Z.createdAt instanceof Date?Z.createdAt.toISOString():String(Z.createdAt)}))}}})});var WZ6=b(()=>{eW6();YZ6();XZ6();JZ6();GZ6()});var ZZ6=b(()=>{XX()});var QZ6,eF,KZ6,HZ6;var MA=b(()=>{d0();ZZ6();QZ6=B.object({id:B.string().describe("Unique message ID"),thread_id:B.string().describe("ID of the parent thread"),metadata:B.unknown().optional().describe("Optional message metadata"),parts:B.array(B.record(B.string(),B.unknown())).describe("Message content parts (AI SDK UIMessagePart format)"),role:B.enum(["user","assistant","system"]).describe("Message role"),created_at:B.string().datetime().describe("Timestamp of creation"),updated_at:B.string().datetime().describe("Timestamp of last update")}),eF=B.object({id:B.string().describe("Unique thread ID"),organization_id:B.string().describe("Organization this thread belongs to"),title:B.string().describe("Thread title"),description:B.string().nullable().describe("Thread description"),created_at:B.string().datetime().describe("Timestamp of creation"),updated_at:B.string().datetime().describe("Timestamp of last update"),hidden:B.boolean().optional().describe("Whether the thread is hidden"),status:B.enum([..._E,"expired"]).describe("Thread execution status. 'expired' is virtual -- computed at read time for stale in_progress threads"),created_by:B.string().describe("User ID who created the thread"),updated_by:B.string().nullable().describe("User ID who last updated the thread")}),KZ6=B.object({id:B.string().optional().describe("Optional custom ID for the thread"),title:B.string().describe("Thread title"),description:B.string().nullish().describe("Thread description")}),HZ6=B.object({title:B.string().optional().describe("New thread title"),description:B.string().nullish().describe("New thread description"),hidden:B.boolean().optional().describe("Whether the thread is hidden")})});var I58,S58,I_1;var $Z6=b(()=>{d0();J4();MA();DQ();I58=B.object({data:KZ6.describe("Data for the new thread (id is auto-generated if not provided)")}),S58=B.object({item:eF.describe("The created thread entity")}),I_1=n0({name:"COLLECTION_THREADS_CREATE",description:"Create a new thread in the organization",annotations:{title:"Create Thread",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:I58,outputSchema:S58,handler:async(Y,X)=>{H6(X);let J=B6(X);await X.access.check();let G=vX(X);if(!G)throw Error("User ID required to create thread");let W=Y.data.id??r9("thrd"),Z=await X.storage.threads.create({id:W,organization_id:J.id,title:Y.data.title,description:Y.data.description,created_by:G});return{item:{...Z,hidden:Z.hidden??!1}}}})});function TO(Y,X=Date.now()){let J=Y.status;if(J==="in_progress"){let G=new Date(Y.updated_at).getTime();if(!Number.isFinite(G)||X-G>1800000)J="expired"}return{...Y,status:J,hidden:Y.hidden??!1}}var k58,_58,S_1;var FZ6=b(()=>{MZ();J4();MA();d0();k58=k3.extend({where:B.object({created_by:B.string().optional()}).optional()}),_58=EU(eF),S_1=n0({name:"COLLECTION_THREADS_LIST",description:"List all threads in the organization with filtering, sorting, and pagination",annotations:{title:"List Threads",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:k58,outputSchema:_58,handler:async(Y,X)=>{if(await X.access.check(),!X.auth.user?.id)throw Error("User ID required to list threads");B6(X);let G=Y.offset??0,W=Y.limit??100,Z=Y.where?.created_by,{threads:K,total:Q}=await X.storage.threads.list(Z,{limit:W,offset:G}),H=G+W<Q,$=Date.now();return{items:K.map((F)=>TO(F,$)),totalCount:Q,hasMore:H}}})});var v58,k_1;var VZ6=b(()=>{MZ();J4();MA();v58=ax(eF),k_1=n0({name:"COLLECTION_THREADS_GET",description:"Get thread details by ID",annotations:{title:"Get Thread",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:ix,outputSchema:v58,handler:async(Y,X)=>{H6(X),B6(X),await X.access.check();let J=await X.storage.threads.get(Y.id);if(!J)return{item:null};return{item:TO(J)}}})});var f58,y58,__1;var zZ6=b(()=>{d0();J4();MA();f58=B.object({id:B.string().describe("ID of the thread to update"),data:HZ6.describe("Partial thread data to update")}),y58=B.object({item:eF.describe("The updated thread entity")}),__1=n0({name:"COLLECTION_THREADS_UPDATE",description:"Update an existing thread in the organization",annotations:{title:"Update Thread",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:f58,outputSchema:y58,handler:async(Y,X)=>{H6(X),B6(X),await X.access.check();let J=vX(X);if(!J)throw Error("User ID required to update thread");let{id:G,data:W}=Y;if(!await X.storage.threads.get(G))throw Error("Thread not found in organization");let K=await X.storage.threads.update(G,{title:W.title,description:W.description,hidden:W.hidden,updated_by:J});return{item:TO(K)}}})});var v_1;var UZ6=b(()=>{MZ();J4();MA();v_1=n0({name:"COLLECTION_THREADS_DELETE",description:"Delete a thread",annotations:{title:"Delete Thread",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:rx,outputSchema:ox(eF),handler:async(Y,X)=>{H6(X),B6(X),await X.access.check();let J=await X.storage.threads.get(Y.id);if(!J)throw Error(`Thread not found: ${Y.id}`);return await X.storage.threads.delete(Y.id),{item:TO(J)}}})});function qZ6(Y){if(!Y)return null;if("field"in Y&&Y.field[0]==="thread_id"&&Y.operator==="eq")return String(Y.value);if("conditions"in Y)for(let X of Y.conditions){let J=qZ6(X);if(J)return J}return null}var b58,f_1;var BZ6=b(()=>{MZ();J4();MA();b58=EU(QZ6),f_1=n0({name:"COLLECTION_THREAD_MESSAGES_LIST",description:"List all messages for a specific thread",annotations:{title:"List Thread Messages",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:k3,outputSchema:b58,handler:async(Y,X)=>{B6(X),await X.access.check();let J=qZ6(Y.where);if(!J)throw Error("thread_id filter is required in where clause");let G=Y.offset??0,W=Y.limit??100,{messages:Z,total:K}=await X.storage.threads.listMessages(J,{limit:W,offset:G}),Q=G+W<K;return{items:Z,totalCount:K,hasMore:Q}}})});var DZ6=b(()=>{$Z6();FZ6();VZ6();zZ6();UZ6();BZ6()});var x58,g58,y_1;var OZ6=b(()=>{d0();J4();x58=B.object({id:B.string().min(1)}),g58=B.object({user:B.object({id:B.string(),name:B.string(),email:B.string(),image:B.string().nullable()}).nullable()}),y_1=n0({name:"USER_GET",description:"Get a user by id (restricted to shared organizations)",annotations:{title:"Get User",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:x58,outputSchema:g58,handler:async(Y,X)=>{await X.access.check(),H6(X);let J=vX(X);if(!J)throw Error("Authentication required");let G=await X.storage.users.findById(Y.id,J);if(!G)return{user:null};return{user:{id:G.id,name:G.name,email:G.email,image:G.image??null}}}})});var LZ6=b(()=>{OZ6()});var MZ6={};bY(MZ6,{managementMCP:()=>b_1,ALL_TOOLS:()=>NZ6});var m58,l58,NZ6,b_1=async(Y)=>{let X=null;if(Y.organization){let W=await Y.storage.organizationSettings.get(Y.organization.id),Z=await Y.storage.projects.list(Y.organization.id),K=new Set(W?.enabled_plugins??[]);for(let Q of Z)if(Q.enabledPlugins)for(let H of Q.enabledPlugins)K.add(H);X=K.size>0?[...K]:null}let J=z76(NZ6,X),G=new Fz({name:"mcp-mesh-management",version:"1.0.0"},{capabilities:{tools:{}}});for(let W of J){let Z=W.inputSchema&&typeof W.inputSchema==="object"&&"shape"in W.inputSchema?W.inputSchema:B.object({}),K=W.outputSchema&&typeof W.outputSchema==="object"&&"shape"in W.outputSchema?W.outputSchema:void 0,Q=Z.shape,H=K?.shape;G.registerTool(W.name,{description:W.description??"",inputSchema:Q,outputSchema:H,annotations:W.annotations,_meta:W._meta},async($)=>{Y.access.setToolName(W.name);try{let F=await W.execute($,Y);return{content:[{type:"text",text:JSON.stringify(F)}],structuredContent:F}}catch(F){return{content:[{type:"text",text:`Error: ${F.message}`}],isError:!0}}})}return G};var h_1=b(()=>{R91();_f();d0();k76();a76();lG6();nG6();JW6();$W6();BW6();LW6();CW6();gW6();tW6();WZ6();DZ6();LZ6();m58=[X_1,J_1,G_1,W_1,Z_1,K_1,H_1,$_1,F_1,V_1,z_1,sS1,Yk1,Xk1,Ek1,Rk1,Tk1,fk1,bk1,hk1,xk1,gk1,uk1,mk1,lk1,dk1,ck1,pG6,pk1,nk1,ak1,rk1,ok1,sk1,tk1,ek1,Y_1,uS1,lS1,dS1,mS1,Ck1,jk1,Ik1,Sk1,kk1,_k1,vk1,y_1,aS1,rS1,oS1,I_1,S_1,k_1,__1,v_1,f_1,E_1,R_1,T_1,C_1,j_1,U_1,q_1,B_1,D_1,O_1,L_1,N_1,M_1,w_1,A_1,P_1],l58=U76(),NZ6=[...m58,...l58]});function d58(Y){return[{permissions:{self:["*"]},getTools:async()=>{let{ALL_TOOLS:X}=await Promise.resolve().then(() => (h_1(),MZ6));return X.map((J)=>{return{name:J.name,inputSchema:B.toJSONSchema(J.inputSchema,{unrepresentable:"any"}),outputSchema:J.outputSchema?B.toJSONSchema(J.outputSchema,{unrepresentable:"any"}):void 0,description:J.description}})},data:fq1(qQ(),Y)},{data:vq1()},{data:_q1(Y)}]}async function wZ6(Y,X){try{let J=HU(),G=new Hw(Z4.ENCRYPTION_KEY),W=new Xx(J.db,G),Z=new Jx(J.db),K=d58(Y);try{await Z.create({organizationId:Y,slug:oV,name:xa,description:"Organization administration and settings",enabledPlugins:null,ui:null})}catch(Q){console.warn("Could not create org-admin project (may already exist):",Q)}await Promise.all(K.map(async(Q)=>{let H=null;if(Q.permissions)H=(await rK.api.createApiKey({body:{name:`${Q.data.app_name??crypto.randomUUID()}-mcp`,userId:X,permissions:Q.permissions,rateLimitEnabled:!1,metadata:{organization:{id:Y},purpose:"default-org-connections"}}}))?.key;let $=await QC({id:"pending",title:Q.data.title,connection_type:Q.data.connection_type,connection_url:Q.data.connection_url,connection_token:Q.data.connection_token,connection_headers:Q.data.connection_headers}).catch(()=>null),F=await Q.getTools?.()??$?.tools??null,V=$?.scopes?.length?$.scopes:null,z=Q.data.id?Q.data.id.startsWith(`${Y}_`)?Q.data.id:`${Y}_${Q.data.id}`:void 0;await W.create({...Q.data,id:z,tools:F,configuration_scopes:V,organization_id:Y,created_by:X,connection_token:Q.data.connection_token??H})}))}catch(J){console.error("Error creating default MCP connections:",J)}}var AZ6=b(()=>{XX();TD();sh();p01();e21();YP1();s01();d0();P5();DA()});var x_1,p91;var n91=b(()=>{x_1=["owner","admin","user"],p91=["owner","admin"]});var c58=(Y)=>{return{defaultSSO:[{domain:Y.domain,providerId:Y.providerId,oidcConfig:{issuer:`https://login.microsoftonline.com/${Y.MS_TENANT_ID}/v2.0`,pkce:!0,clientId:Y.MS_CLIENT_ID,clientSecret:Y.MS_CLIENT_SECRET,discoveryEndpoint:`https://login.microsoftonline.com/${Y.MS_TENANT_ID}/v2.0/.well-known/openid-configuration`,authorizationEndpoint:`https://login.microsoftonline.com/${Y.MS_TENANT_ID}/oauth2/v2.0/authorize`,tokenEndpoint:`https://login.microsoftonline.com/${Y.MS_TENANT_ID}/oauth2/v2.0/token`,jwksEndpoint:`https://login.microsoftonline.com/${Y.MS_TENANT_ID}/discovery/v2.0/keys`,userInfoEndpoint:"https://graph.microsoft.com/oidc/userinfo",tokenEndpointAuthentication:"client_secret_post",scopes:Y.scopes,mapping:{id:"sub",email:"email",emailVerified:"email_verified",name:"name",image:"picture",extraFields:{emailVerified:"email_verified"}}}}]}},PZ6=(Y)=>{if(Y.providerId==="microsoft")return c58(Y);throw Error(`Unsupported provider: ${Y.providerId}`)};var jZ6={};bY(jZ6,{resetPasswordEnabled:()=>a91,authConfig:()=>yY,auth:()=>rK});function p58(Y){return Y.toLowerCase().trim().replace(/[^a-z0-9\s_-]+/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function n58(){let Y=Math.floor(Math.random()*RZ6.length),X=Math.floor(Math.random()*EZ6.length),J=RZ6[Y]??"deco",G=EZ6[X]??"studio";return`${J}-${G}`}function XJ8(){let Y=[gu],X=new URL(gu);if(X.hostname==="localhost")Y.push(gu.replace("localhost","127.0.0.1"));else if(X.hostname==="127.0.0.1")Y.push(gu.replace("127.0.0.1","localhost"));return Y}var EZ6,RZ6,i58,a58,i91,r58,o58,s58,TZ6,yY,CZ6=void 0,g_1=void 0,a91=!1,t58,e58,YJ8,gu,rK;var DA=b(()=>{P5();qB1();Qx0();lg0();Lw1();gA1();fu0();z01();TD();du0();sh();t21();Zn0();AZ6();n91();EZ6=["labs","agent","studio","workspace","systems","core","cloud","works"],RZ6=["capybara","guarana","deco","samba","feijoada","capoeira","carnival"];i58=Object.values(uf()).map((Y)=>Y.map((X)=>X.name)).flat(),a58={...o11,self:["*",...i58]},i91=AF(a58),r58=i91.newRole({self:["*"],...Oh.statements}),o58=i91.newRole({self:["*"],...Oh.statements}),s58=i91.newRole({self:["*"],...Oh.statements}),TZ6=Object.values(uf()).map((Y)=>Y.map((X)=>`self:${X.name}`)).flat(),yY=Th.auth;if(yY.inviteEmailProviderId&&yY.emailProviders&&yY.emailProviders.length>0){let Y=eh(yY.emailProviders,yY.inviteEmailProviderId);if(Y){let X=th(Y);CZ6=async(J)=>{let G=J.inviter.user?.name||J.inviter.user?.email,W=`${qQ()}/auth/accept-invitation?invitationId=${J.invitation.id}&redirectTo=/`;await X({to:J.email,subject:`Invitation to join ${J.organization.name}`,html:`
|
|
1796
1796
|
<h2>You've been invited!</h2>
|
|
1797
1797
|
<p>${G} has invited you to join <strong>${J.organization.name}</strong>.</p>
|
|
1798
1798
|
<p><a href="${W}">Click here to accept the invitation</a></p>
|
|
@@ -1845,7 +1845,7 @@ ${K.stack}`;Q.unsubscribe(),Z.reject(H)}else if(H=(0,q$8.isRequestError)($),H){i
|
|
|
1845
1845
|
|
|
1846
1846
|
${K.stack}`;Z.reject(H)}else Z.resolve($)}});return Q.requestSubject=Y,this.protocol.publish(Y,X,{reply:W,headers:J.headers}),Z}else{let W=new vF6.RequestOne(this.protocol.muxSubscriptions,Y,J,G);this.protocol.request(W);try{this.publish(Y,X,{reply:`${this.protocol.muxSubscriptions.baseInbox}${W.token}`,headers:J.headers})}catch(K){W.cancel(K)}let Z=Promise.race([W.timer,W.deferred]);return Z.catch(()=>{W.cancel()}),Z}}flush(){if(this.isClosed())return Promise.reject(IZ.NatsError.errorForCode(yX.ErrorCode.ConnectionClosed));return this.protocol.flush()}drain(){if(this.isClosed())return Promise.reject(IZ.NatsError.errorForCode(yX.ErrorCode.ConnectionClosed));if(this.isDraining())return Promise.reject(IZ.NatsError.errorForCode(yX.ErrorCode.ConnectionDraining));return this.draining=!0,this.protocol.drain()}isClosed(){return this.protocol.isClosed()}isDraining(){return this.draining}getServer(){let Y=this.protocol.getServer();return Y?Y.listen:""}status(){let Y=new _F6.QueuedIteratorImpl;return Y.iterClosed.then(()=>{let X=this.listeners.indexOf(Y);this.listeners.splice(X,1)}),this.listeners.push(Y),Y}get info(){return this.protocol.isClosed()?void 0:this.protocol.info}context(){return $m(this,void 0,void 0,function*(){return(yield this.request("$SYS.REQ.USER.INFO")).json((X,J)=>{if(X==="time")return new Date(Date.parse(J));return J})})}stats(){return{inBytes:this.protocol.inBytes,outBytes:this.protocol.outBytes,inMsgs:this.protocol.inMsgs,outMsgs:this.protocol.outMsgs}}jetstreamManager(){return $m(this,arguments,void 0,function*(Y={}){let X=new B$8.JetStreamManagerImpl(this,Y);if(Y.checkAPI!==!1)try{yield X.getAccountInfo()}catch(J){let G=J;if(G.code===yX.ErrorCode.NoResponders)G.code=yX.ErrorCode.JetStreamNotEnabled;throw G}return X})}jetstream(Y={}){return new D$8.JetStreamClientImpl(this,Y)}getServerVersion(){let Y=this.info;return Y?(0,z$8.parseSemVer)(Y.version):void 0}rtt(){return $m(this,void 0,void 0,function*(){if(!this.protocol._closed&&!this.protocol.connected)throw IZ.NatsError.errorForCode(yX.ErrorCode.Disconnect);let Y=Date.now();return yield this.flush(),Date.now()-Y})}get features(){return this.protocol.features}get services(){if(!this._services)this._services=new Zy1(this);return this._services}reconnect(){if(this.isClosed())return Promise.reject(IZ.NatsError.errorForCode(yX.ErrorCode.ConnectionClosed));if(this.isDraining())return Promise.reject(IZ.NatsError.errorForCode(yX.ErrorCode.ConnectionDraining));return this.protocol.reconnect()}}UV.NatsConnectionImpl=Wy1;class Zy1{constructor(Y){this.nc=Y}add(Y){try{return new O$8.ServiceImpl(this.nc,Y).start()}catch(X){return Promise.reject(X)}}client(Y,X){return new L$8.ServiceClientImpl(this.nc,Y,X)}}UV.ServicesFactory=Zy1});var uF6=n((uQ)=>{var Zq=uQ&&uQ.__awaiter||function(Y,X,J,G){function W(Z){return Z instanceof J?Z:new J(function(K){K(Z)})}return new(J||(J=Promise))(function(Z,K){function Q(F){try{$(G.next(F))}catch(V){K(V)}}function H(F){try{$(G.throw(F))}catch(V){K(V)}}function $(F){F.done?Z(F.value):W(F.value).then(Q,H)}$((G=G.apply(Y,X||[])).next())})},yF6=uQ&&uQ.__asyncValues||function(Y){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var X=Y[Symbol.asyncIterator],J;return X?X.call(Y):(Y=typeof __values==="function"?__values(Y):Y[Symbol.iterator](),J={},G("next"),G("throw"),G("return"),J[Symbol.asyncIterator]=function(){return this},J);function G(Z){J[Z]=Y[Z]&&function(K){return new Promise(function(Q,H){K=Y[Z](K),W(Q,H,K.done,K.value)})}}function W(Z,K,Q,H){Promise.resolve(H).then(function($){Z({value:$,done:Q})},K)}};Object.defineProperty(uQ,"__esModule",{value:!0});uQ.Bench=uQ.Metric=void 0;uQ.throughput=xF6;uQ.msgThroughput=w$8;uQ.humanizeBytes=gF6;var N$8=NI(),M$8=WV(),Qy1=w5(),bF6=MY();class gO{constructor(Y,X){this.name=Y,this.duration=X,this.date=Date.now(),this.payload=0,this.msgs=0,this.bytes=0}toString(){let Y=this.duration/1000,X=Math.round(this.msgs/Y),J=this.asyncRequests?"asyncRequests":"",G="";if(this.max)G=`${this.min}/${this.max}`;return`${this.name}${J?" [asyncRequests]":""} ${A$8(X)} msgs/sec - [${Y.toFixed(2)} secs] ~ ${xF6(this.bytes,Y)} ${G}`}toCsv(){return`"${this.name}",${new Date(this.date).toISOString()},${this.lang},${this.version},${this.msgs},${this.payload},${this.bytes},${this.duration},${this.asyncRequests?this.asyncRequests:!1}
|
|
1847
1847
|
`}static header(){return`Test,Date,Lang,Version,Count,MsgPayload,Bytes,Millis,Async
|
|
1848
|
-
`}}uQ.Metric=gO;class hF6{constructor(Y,X={msgs:1e5,size:128,subject:"",asyncRequests:!1,pub:!1,sub:!1,req:!1,rep:!1}){if(this.nc=Y,this.callbacks=X.callbacks||!1,this.msgs=X.msgs||0,this.size=X.size||0,this.subject=X.subject||M$8.nuid.next(),this.asyncRequests=X.asyncRequests||!1,this.pub=X.pub||!1,this.sub=X.sub||!1,this.req=X.req||!1,this.rep=X.rep||!1,this.perf=new Qy1.Perf,this.payload=this.size?new Uint8Array(this.size):N$8.Empty,!this.pub&&!this.sub&&!this.req&&!this.rep)throw Error("no bench option selected")}run(){return Zq(this,void 0,void 0,function*(){if(this.nc.closed().then((Y)=>{if(Y)throw new bF6.NatsError(`bench closed with an error: ${Y.message}`,bF6.ErrorCode.Unknown,Y)}),this.callbacks)yield this.runCallbacks();else yield this.runAsync();return this.processMetrics()})}processMetrics(){let Y=this.nc,{lang:X,version:J}=Y.protocol.transport;if(this.pub&&this.sub)this.perf.measure("pubsub","pubStart","subStop");if(this.req&&this.rep)this.perf.measure("reqrep","reqStart","reqStop");let G=this.perf.getEntries(),W=G.find((z)=>z.name==="pubsub"),Z=G.find((z)=>z.name==="reqrep"),K=G.find((z)=>z.name==="req"),Q=G.find((z)=>z.name==="rep"),H=G.find((z)=>z.name==="pub"),$=G.find((z)=>z.name==="sub"),F=this.nc.stats(),V=[];if(W){let{name:z,duration:U}=W,q=new gO(z,U);q.msgs=this.msgs*2,q.bytes=F.inBytes+F.outBytes,q.lang=X,q.version=J,q.payload=this.payload.length,V.push(q)}if(Z){let{name:z,duration:U}=Z,q=new gO(z,U);q.msgs=this.msgs*2,q.bytes=F.inBytes+F.outBytes,q.lang=X,q.version=J,q.payload=this.payload.length,V.push(q)}if(H){let{name:z,duration:U}=H,q=new gO(z,U);q.msgs=this.msgs,q.bytes=F.outBytes,q.lang=X,q.version=J,q.payload=this.payload.length,V.push(q)}if($){let{name:z,duration:U}=$,q=new gO(z,U);q.msgs=this.msgs,q.bytes=F.inBytes,q.lang=X,q.version=J,q.payload=this.payload.length,V.push(q)}if(Q){let{name:z,duration:U}=Q,q=new gO(z,U);q.msgs=this.msgs,q.bytes=F.inBytes+F.outBytes,q.lang=X,q.version=J,q.payload=this.payload.length,V.push(q)}if(K){let{name:z,duration:U}=K,q=new gO(z,U);q.msgs=this.msgs,q.bytes=F.inBytes+F.outBytes,q.lang=X,q.version=J,q.payload=this.payload.length,V.push(q)}return V}runCallbacks(){return Zq(this,void 0,void 0,function*(){let Y=[];if(this.sub){let X=(0,Qy1.deferred)();Y.push(X);let J=0;this.nc.subscribe(this.subject,{max:this.msgs,callback:()=>{if(J++,J===1)this.perf.mark("subStart");if(J===this.msgs)this.perf.mark("subStop"),this.perf.measure("sub","subStart","subStop"),X.resolve()}})}if(this.rep){let X=(0,Qy1.deferred)();Y.push(X);let J=0;this.nc.subscribe(this.subject,{max:this.msgs,callback:(G,W)=>{if(W.respond(this.payload),J++,J===1)this.perf.mark("repStart");if(J===this.msgs)this.perf.mark("repStop"),this.perf.measure("rep","repStart","repStop"),X.resolve()}})}if(this.pub){let X=(()=>Zq(this,void 0,void 0,function*(){this.perf.mark("pubStart");for(let J=0;J<this.msgs;J++)this.nc.publish(this.subject,this.payload);yield this.nc.flush(),this.perf.mark("pubStop"),this.perf.measure("pub","pubStart","pubStop")}))();Y.push(X)}if(this.req){let X=(()=>Zq(this,void 0,void 0,function*(){if(this.asyncRequests){this.perf.mark("reqStart");let J=[];for(let G=0;G<this.msgs;G++)J.push(this.nc.request(this.subject,this.payload,{timeout:20000}));yield Promise.all(J),this.perf.mark("reqStop"),this.perf.measure("req","reqStart","reqStop")}else{this.perf.mark("reqStart");for(let J=0;J<this.msgs;J++)yield this.nc.request(this.subject);this.perf.mark("reqStop"),this.perf.measure("req","reqStart","reqStop")}}))();Y.push(X)}yield Promise.all(Y)})}runAsync(){return Zq(this,void 0,void 0,function*(){let Y=[];if(this.rep){let X=!1,J=this.nc.subscribe(this.subject,{max:this.msgs}),G=(()=>Zq(this,void 0,void 0,function*(){var W,Z,K,Q;try{for(var H=!0,$=yF6(J),F;F=yield $.next(),W=F.done,!W;H=!0){Q=F.value,H=!1;let V=Q;if(!X)this.perf.mark("repStart"),X=!0;V.respond(this.payload)}}catch(V){Z={error:V}}finally{try{if(!H&&!W&&(K=$.return))yield K.call($)}finally{if(Z)throw Z.error}}yield this.nc.flush(),this.perf.mark("repStop"),this.perf.measure("rep","repStart","repStop")}))();Y.push(G)}if(this.sub){let X=!1,J=this.nc.subscribe(this.subject,{max:this.msgs}),G=(()=>Zq(this,void 0,void 0,function*(){var W,Z,K,Q;try{for(var H=!0,$=yF6(J),F;F=yield $.next(),W=F.done,!W;H=!0){Q=F.value,H=!1;let V=Q;if(!X)this.perf.mark("subStart"),X=!0}}catch(V){Z={error:V}}finally{try{if(!H&&!W&&(K=$.return))yield K.call($)}finally{if(Z)throw Z.error}}this.perf.mark("subStop"),this.perf.measure("sub","subStart","subStop")}))();Y.push(G)}if(this.pub){let X=(()=>Zq(this,void 0,void 0,function*(){this.perf.mark("pubStart");for(let J=0;J<this.msgs;J++)this.nc.publish(this.subject,this.payload);yield this.nc.flush(),this.perf.mark("pubStop"),this.perf.measure("pub","pubStart","pubStop")}))();Y.push(X)}if(this.req){let X=(()=>Zq(this,void 0,void 0,function*(){if(this.asyncRequests){this.perf.mark("reqStart");let J=[];for(let G=0;G<this.msgs;G++)J.push(this.nc.request(this.subject,this.payload,{timeout:20000}));yield Promise.all(J),this.perf.mark("reqStop"),this.perf.measure("req","reqStart","reqStop")}else{this.perf.mark("reqStart");for(let J=0;J<this.msgs;J++)yield this.nc.request(this.subject);this.perf.mark("reqStop"),this.perf.measure("req","reqStart","reqStop")}}))();Y.push(X)}yield Promise.all(Y)})}}uQ.Bench=hF6;function xF6(Y,X){return`${gF6(Y/X)}/sec`}function w$8(Y,X){return`${Math.floor(Y/X)} msgs/sec`}function gF6(Y,X=!1){let J=X?1000:1024,G=X?["k","M","G","T","P","E"]:["K","M","G","T","P","E"],W=X?"iB":"B";if(Y<J)return`${Y.toFixed(2)} ${W}`;let Z=parseInt(Math.log(Y)/Math.log(J)+""),K=parseInt(Z-1+"");return`${(Y/Math.pow(J,Z)).toFixed(2)} ${G[K]}${W}`}function A$8(Y){return Y.toString().replace(/\B(?=(\d{3})+(?!\d))/g,",")}});var If1=n((u0)=>{var P$8=u0&&u0.__createBinding||(Object.create?function(Y,X,J,G){if(G===void 0)G=J;var W=Object.getOwnPropertyDescriptor(X,J);if(!W||("get"in W?!X.__esModule:W.writable||W.configurable))W={enumerable:!0,get:function(){return X[J]}};Object.defineProperty(Y,G,W)}:function(Y,X,J,G){if(G===void 0)G=J;Y[G]=X[J]}),E$8=u0&&u0.__exportStar||function(Y,X){for(var J in Y)if(J!=="default"&&!Object.prototype.hasOwnProperty.call(X,J))P$8(X,Y,J)};Object.defineProperty(u0,"__esModule",{value:!0});u0.parseIP=u0.isIP=u0.TE=u0.TD=u0.Metric=u0.Bench=u0.writeAll=u0.readAll=u0.MAX_SIZE=u0.DenoBuffer=u0.State=u0.Parser=u0.Kind=u0.QueuedIteratorImpl=u0.StringCodec=u0.JSONCodec=u0.usernamePasswordAuthenticator=u0.tokenAuthenticator=u0.nkeyAuthenticator=u0.jwtAuthenticator=u0.credsAuthenticator=u0.RequestOne=u0.checkUnsupportedOption=u0.checkOptions=u0.buildAuthenticator=u0.DataBuffer=u0.MuxSubscription=u0.Heartbeat=u0.MsgHdrsImpl=u0.headers=u0.canonicalMIMEHeaderKey=u0.timeout=u0.render=u0.nanos=u0.millis=u0.extend=u0.delay=u0.deferred=u0.deadline=u0.collect=u0.backoff=u0.ProtocolHandler=u0.INFO=u0.Connect=u0.setTransportFactory=u0.getResolveFn=u0.MsgImpl=u0.nuid=u0.Nuid=u0.NatsConnectionImpl=void 0;u0.Subscriptions=u0.SubscriptionImpl=u0.syncIterator=u0.ServiceVerb=u0.ServiceResponseType=u0.ServiceErrorHeader=u0.ServiceErrorCodeHeader=u0.ServiceError=u0.RequestStrategy=u0.NatsError=u0.Match=u0.isNatsError=u0.Events=u0.ErrorCode=u0.DebugEvents=u0.createInbox=u0.extractProtocolMessage=u0.Empty=u0.parseSemVer=u0.compare=u0.NoopKvCodecs=u0.defaultBucketOpts=u0.Bucket=u0.Base64KeyCodec=u0.TypedSubscription=void 0;var R$8=fF6();Object.defineProperty(u0,"NatsConnectionImpl",{enumerable:!0,get:function(){return R$8.NatsConnectionImpl}});var mF6=WV();Object.defineProperty(u0,"Nuid",{enumerable:!0,get:function(){return mF6.Nuid}});Object.defineProperty(u0,"nuid",{enumerable:!0,get:function(){return mF6.nuid}});var T$8=UI();Object.defineProperty(u0,"MsgImpl",{enumerable:!0,get:function(){return T$8.MsgImpl}});var lF6=FI();Object.defineProperty(u0,"getResolveFn",{enumerable:!0,get:function(){return lF6.getResolveFn}});Object.defineProperty(u0,"setTransportFactory",{enumerable:!0,get:function(){return lF6.setTransportFactory}});var Ky1=xY1();Object.defineProperty(u0,"Connect",{enumerable:!0,get:function(){return Ky1.Connect}});Object.defineProperty(u0,"INFO",{enumerable:!0,get:function(){return Ky1.INFO}});Object.defineProperty(u0,"ProtocolHandler",{enumerable:!0,get:function(){return Ky1.ProtocolHandler}});var qV=w5();Object.defineProperty(u0,"backoff",{enumerable:!0,get:function(){return qV.backoff}});Object.defineProperty(u0,"collect",{enumerable:!0,get:function(){return qV.collect}});Object.defineProperty(u0,"deadline",{enumerable:!0,get:function(){return qV.deadline}});Object.defineProperty(u0,"deferred",{enumerable:!0,get:function(){return qV.deferred}});Object.defineProperty(u0,"delay",{enumerable:!0,get:function(){return qV.delay}});Object.defineProperty(u0,"extend",{enumerable:!0,get:function(){return qV.extend}});Object.defineProperty(u0,"millis",{enumerable:!0,get:function(){return qV.millis}});Object.defineProperty(u0,"nanos",{enumerable:!0,get:function(){return qV.nanos}});Object.defineProperty(u0,"render",{enumerable:!0,get:function(){return qV.render}});Object.defineProperty(u0,"timeout",{enumerable:!0,get:function(){return qV.timeout}});var Hy1=tU();Object.defineProperty(u0,"canonicalMIMEHeaderKey",{enumerable:!0,get:function(){return Hy1.canonicalMIMEHeaderKey}});Object.defineProperty(u0,"headers",{enumerable:!0,get:function(){return Hy1.headers}});Object.defineProperty(u0,"MsgHdrsImpl",{enumerable:!0,get:function(){return Hy1.MsgHdrsImpl}});var C$8=ov1();Object.defineProperty(u0,"Heartbeat",{enumerable:!0,get:function(){return C$8.Heartbeat}});var j$8=rv1();Object.defineProperty(u0,"MuxSubscription",{enumerable:!0,get:function(){return j$8.MuxSubscription}});var I$8=$I();Object.defineProperty(u0,"DataBuffer",{enumerable:!0,get:function(){return I$8.DataBuffer}});var $y1=bY1();Object.defineProperty(u0,"buildAuthenticator",{enumerable:!0,get:function(){return $y1.buildAuthenticator}});Object.defineProperty(u0,"checkOptions",{enumerable:!0,get:function(){return $y1.checkOptions}});Object.defineProperty(u0,"checkUnsupportedOption",{enumerable:!0,get:function(){return $y1.checkUnsupportedOption}});var S$8=mY1();Object.defineProperty(u0,"RequestOne",{enumerable:!0,get:function(){return S$8.RequestOne}});var Fm=zf1();Object.defineProperty(u0,"credsAuthenticator",{enumerable:!0,get:function(){return Fm.credsAuthenticator}});Object.defineProperty(u0,"jwtAuthenticator",{enumerable:!0,get:function(){return Fm.jwtAuthenticator}});Object.defineProperty(u0,"nkeyAuthenticator",{enumerable:!0,get:function(){return Fm.nkeyAuthenticator}});Object.defineProperty(u0,"tokenAuthenticator",{enumerable:!0,get:function(){return Fm.tokenAuthenticator}});Object.defineProperty(u0,"usernamePasswordAuthenticator",{enumerable:!0,get:function(){return Fm.usernamePasswordAuthenticator}});var dF6=QV();Object.defineProperty(u0,"JSONCodec",{enumerable:!0,get:function(){return dF6.JSONCodec}});Object.defineProperty(u0,"StringCodec",{enumerable:!0,get:function(){return dF6.StringCodec}});E$8(Ff1(),u0);var k$8=sK();Object.defineProperty(u0,"QueuedIteratorImpl",{enumerable:!0,get:function(){return k$8.QueuedIteratorImpl}});var Fy1=Jf1();Object.defineProperty(u0,"Kind",{enumerable:!0,get:function(){return Fy1.Kind}});Object.defineProperty(u0,"Parser",{enumerable:!0,get:function(){return Fy1.Parser}});Object.defineProperty(u0,"State",{enumerable:!0,get:function(){return Fy1.State}});var BX1=ev1();Object.defineProperty(u0,"DenoBuffer",{enumerable:!0,get:function(){return BX1.DenoBuffer}});Object.defineProperty(u0,"MAX_SIZE",{enumerable:!0,get:function(){return BX1.MAX_SIZE}});Object.defineProperty(u0,"readAll",{enumerable:!0,get:function(){return BX1.readAll}});Object.defineProperty(u0,"writeAll",{enumerable:!0,get:function(){return BX1.writeAll}});var cF6=uF6();Object.defineProperty(u0,"Bench",{enumerable:!0,get:function(){return cF6.Bench}});Object.defineProperty(u0,"Metric",{enumerable:!0,get:function(){return cF6.Metric}});var pF6=M5();Object.defineProperty(u0,"TD",{enumerable:!0,get:function(){return pF6.TD}});Object.defineProperty(u0,"TE",{enumerable:!0,get:function(){return pF6.TE}});var nF6=lv1();Object.defineProperty(u0,"isIP",{enumerable:!0,get:function(){return nF6.isIP}});Object.defineProperty(u0,"parseIP",{enumerable:!0,get:function(){return nF6.parseIP}});var _$8=vf1();Object.defineProperty(u0,"TypedSubscription",{enumerable:!0,get:function(){return _$8.TypedSubscription}});var DX1=Gm();Object.defineProperty(u0,"Base64KeyCodec",{enumerable:!0,get:function(){return DX1.Base64KeyCodec}});Object.defineProperty(u0,"Bucket",{enumerable:!0,get:function(){return DX1.Bucket}});Object.defineProperty(u0,"defaultBucketOpts",{enumerable:!0,get:function(){return DX1.defaultBucketOpts}});Object.defineProperty(u0,"NoopKvCodecs",{enumerable:!0,get:function(){return DX1.NoopKvCodecs}});var iF6=eU();Object.defineProperty(u0,"compare",{enumerable:!0,get:function(){return iF6.compare}});Object.defineProperty(u0,"parseSemVer",{enumerable:!0,get:function(){return iF6.parseSemVer}});var v$8=NI();Object.defineProperty(u0,"Empty",{enumerable:!0,get:function(){return v$8.Empty}});var f$8=FI();Object.defineProperty(u0,"extractProtocolMessage",{enumerable:!0,get:function(){return f$8.extractProtocolMessage}});var SZ=MY();Object.defineProperty(u0,"createInbox",{enumerable:!0,get:function(){return SZ.createInbox}});Object.defineProperty(u0,"DebugEvents",{enumerable:!0,get:function(){return SZ.DebugEvents}});Object.defineProperty(u0,"ErrorCode",{enumerable:!0,get:function(){return SZ.ErrorCode}});Object.defineProperty(u0,"Events",{enumerable:!0,get:function(){return SZ.Events}});Object.defineProperty(u0,"isNatsError",{enumerable:!0,get:function(){return SZ.isNatsError}});Object.defineProperty(u0,"Match",{enumerable:!0,get:function(){return SZ.Match}});Object.defineProperty(u0,"NatsError",{enumerable:!0,get:function(){return SZ.NatsError}});Object.defineProperty(u0,"RequestStrategy",{enumerable:!0,get:function(){return SZ.RequestStrategy}});Object.defineProperty(u0,"ServiceError",{enumerable:!0,get:function(){return SZ.ServiceError}});Object.defineProperty(u0,"ServiceErrorCodeHeader",{enumerable:!0,get:function(){return SZ.ServiceErrorCodeHeader}});Object.defineProperty(u0,"ServiceErrorHeader",{enumerable:!0,get:function(){return SZ.ServiceErrorHeader}});Object.defineProperty(u0,"ServiceResponseType",{enumerable:!0,get:function(){return SZ.ServiceResponseType}});Object.defineProperty(u0,"ServiceVerb",{enumerable:!0,get:function(){return SZ.ServiceVerb}});Object.defineProperty(u0,"syncIterator",{enumerable:!0,get:function(){return SZ.syncIterator}});var aF6=xY1();Object.defineProperty(u0,"SubscriptionImpl",{enumerable:!0,get:function(){return aF6.SubscriptionImpl}});Object.defineProperty(u0,"Subscriptions",{enumerable:!0,get:function(){return aF6.Subscriptions}})});var OX1=n((A5)=>{Object.defineProperty(A5,"__esModule",{value:!0});A5.ConsumerEvents=A5.ConsumerDebugEvents=A5.StoreCompression=A5.StorageType=A5.RetentionPolicy=A5.ReplayPolicy=A5.DiscardPolicy=A5.DeliverPolicy=A5.AckPolicy=A5.RepublishHeaders=A5.KvWatchInclude=A5.JsHeaders=A5.isConsumerOptsBuilder=A5.DirectMsgHeaders=A5.consumerOpts=A5.AdvisoryKind=A5.isHeartbeatMsg=A5.isFlowControlMsg=A5.checkJsError=void 0;var Vy1=$V();Object.defineProperty(A5,"checkJsError",{enumerable:!0,get:function(){return Vy1.checkJsError}});Object.defineProperty(A5,"isFlowControlMsg",{enumerable:!0,get:function(){return Vy1.isFlowControlMsg}});Object.defineProperty(A5,"isHeartbeatMsg",{enumerable:!0,get:function(){return Vy1.isHeartbeatMsg}});var uA=Xq();Object.defineProperty(A5,"AdvisoryKind",{enumerable:!0,get:function(){return uA.AdvisoryKind}});Object.defineProperty(A5,"consumerOpts",{enumerable:!0,get:function(){return uA.consumerOpts}});Object.defineProperty(A5,"DirectMsgHeaders",{enumerable:!0,get:function(){return uA.DirectMsgHeaders}});Object.defineProperty(A5,"isConsumerOptsBuilder",{enumerable:!0,get:function(){return uA.isConsumerOptsBuilder}});Object.defineProperty(A5,"JsHeaders",{enumerable:!0,get:function(){return uA.JsHeaders}});Object.defineProperty(A5,"KvWatchInclude",{enumerable:!0,get:function(){return uA.KvWatchInclude}});Object.defineProperty(A5,"RepublishHeaders",{enumerable:!0,get:function(){return uA.RepublishHeaders}});var mA=vO();Object.defineProperty(A5,"AckPolicy",{enumerable:!0,get:function(){return mA.AckPolicy}});Object.defineProperty(A5,"DeliverPolicy",{enumerable:!0,get:function(){return mA.DeliverPolicy}});Object.defineProperty(A5,"DiscardPolicy",{enumerable:!0,get:function(){return mA.DiscardPolicy}});Object.defineProperty(A5,"ReplayPolicy",{enumerable:!0,get:function(){return mA.ReplayPolicy}});Object.defineProperty(A5,"RetentionPolicy",{enumerable:!0,get:function(){return mA.RetentionPolicy}});Object.defineProperty(A5,"StorageType",{enumerable:!0,get:function(){return mA.StorageType}});Object.defineProperty(A5,"StoreCompression",{enumerable:!0,get:function(){return mA.StoreCompression}});var rF6=rf1();Object.defineProperty(A5,"ConsumerDebugEvents",{enumerable:!0,get:function(){return rF6.ConsumerDebugEvents}});Object.defineProperty(A5,"ConsumerEvents",{enumerable:!0,get:function(){return rF6.ConsumerEvents}})});var zy1=n((uO)=>{var b$8=uO&&uO.__createBinding||(Object.create?function(Y,X,J,G){if(G===void 0)G=J;var W=Object.getOwnPropertyDescriptor(X,J);if(!W||("get"in W?!X.__esModule:W.writable||W.configurable))W={enumerable:!0,get:function(){return X[J]}};Object.defineProperty(Y,G,W)}:function(Y,X,J,G){if(G===void 0)G=J;Y[G]=X[J]}),oF6=uO&&uO.__exportStar||function(Y,X){for(var J in Y)if(J!=="default"&&!Object.prototype.hasOwnProperty.call(X,J))b$8(X,Y,J)};Object.defineProperty(uO,"__esModule",{value:!0});oF6(If1(),uO);oF6(OX1(),uO)});var YV6=n((t3)=>{var jI=t3&&t3.__awaiter||function(Y,X,J,G){function W(Z){return Z instanceof J?Z:new J(function(K){K(Z)})}return new(J||(J=Promise))(function(Z,K){function Q(F){try{$(G.next(F))}catch(V){K(V)}}function H(F){try{$(G.throw(F))}catch(V){K(V)}}function $(F){F.done?Z(F.value):W(F.value).then(Q,H)}$((G=G.apply(Y,X||[])).next())})},Vm=t3&&t3.__await||function(Y){return this instanceof Vm?(this.v=Y,this):new Vm(Y)},h$8=t3&&t3.__asyncGenerator||function(Y,X,J){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var G=J.apply(Y,X||[]),W,Z=[];return W=Object.create((typeof AsyncIterator==="function"?AsyncIterator:Object).prototype),Q("next"),Q("throw"),Q("return",K),W[Symbol.asyncIterator]=function(){return this},W;function K(U){return function(q){return Promise.resolve(q).then(U,V)}}function Q(U,q){if(G[U]){if(W[U]=function(D){return new Promise(function(L,w){Z.push([U,D,L,w])>1||H(U,D)})},q)W[U]=q(W[U])}}function H(U,q){try{$(G[U](q))}catch(D){z(Z[0][3],D)}}function $(U){U.value instanceof Vm?Promise.resolve(U.value.v).then(F,V):z(Z[0][2],U)}function F(U){H("next",U)}function V(U){H("throw",U)}function z(U,q){if(U(q),Z.shift(),Z.length)H(Z[0][0],Z[0][1])}};Object.defineProperty(t3,"__esModule",{value:!0});t3.NodeTransport=void 0;t3.nodeResolveHost=c$8;var S9=zy1(),x$8=U0("net"),sF6=w5(),Uy1=U0("tls"),{resolve:g$8}=U0("path"),{readFile:u$8,existsSync:m$8}=U0("fs"),tF6=U0("dns"),l$8="2.29.3",d$8="nats.js";class eF6{constructor(){this.yields=[],this.signal=(0,S9.deferred)(),this.closedNotification=(0,S9.deferred)(),this.connected=!1,this.tlsName="",this.done=!1,this.lang=d$8,this.version=l$8}connect(Y,X){return jI(this,void 0,void 0,function*(){this.tlsName=Y.tlsName,this.options=X;let{tls:J}=this.options,{handshakeFirst:G}=J||{};try{if(G===!0)this.socket=yield this.tlsFirst(Y);else this.socket=yield this.dial(Y);let W=yield this.peekInfo();(0,S9.checkOptions)(W,X);let{tls_required:Z,tls_available:K}=W,Q=K===!0&&X.tls!==null;if(!G&&(Z||Q))this.socket=yield this.startTLS();if(Z&&this.socket.encrypted!==!0)throw new S9.NatsError("tls",S9.ErrorCode.ServerOptionNotAvailable);return this.connected=!0,this.setupHandlers(),this.signal.resolve(),Promise.resolve()}catch(W){if(!W)W=S9.NatsError.errorForCode(S9.ErrorCode.ConnectionRefused,Error("node provided an undefined error!"));let{code:Z}=W,K=Z==="ECONNREFUSED"?S9.NatsError.errorForCode(S9.ErrorCode.ConnectionRefused,W):W;if(this.socket)this.socket.destroy();throw K}})}dial(Y){let X=(0,S9.deferred)(),J,G=(0,x$8.createConnection)(Y.port,Y.hostname,()=>{X.resolve(G),G.removeAllListeners()});return G.on("error",(W)=>{J=W}),G.on("close",()=>{G.removeAllListeners(),X.reject(J)}),G.setNoDelay(!0),X}get isClosed(){return this.done}close(Y){return this._closed(Y,!1)}peekInfo(){let Y=(0,S9.deferred)(),X;return this.socket.on("data",(J)=>{this.yields.push(J);let G=S9.DataBuffer.concat(...this.yields),W=(0,S9.extractProtocolMessage)(G);if(W!=="")try{let Z=S9.INFO.exec(W);if(!Z)throw Error("unexpected response from server");let K=JSON.parse(Z[1]);Y.resolve(K)}catch(Z){Y.reject(Z)}finally{this.socket.removeAllListeners()}}),this.socket.on("error",(J)=>{X=J}),this.socket.on("close",()=>{this.socket.removeAllListeners(),Y.reject(X)}),Y}loadFile(Y){if(!Y)return Promise.resolve();let X=(0,S9.deferred)();try{if(Y=g$8(Y),!m$8(Y))X.reject(Error(`${Y} doesn't exist`));u$8(Y,(J,G)=>{if(J)return X.reject(J);X.resolve(G)})}catch(J){X.reject(J)}return X}loadClientCerts(){return jI(this,void 0,void 0,function*(){let Y={},{certFile:X,cert:J,caFile:G,ca:W,keyFile:Z,key:K}=this.options.tls;try{if(X){let Q=yield this.loadFile(X);if(Q)Y.cert=Q}else if(J)Y.cert=J;if(Z){let Q=yield this.loadFile(Z);if(Q)Y.key=Q}else if(K)Y.key=K;if(G){let Q=yield this.loadFile(G);if(Q)Y.ca=[Q]}else if(W)Y.ca=W;return Promise.resolve(Y)}catch(Q){return Promise.reject(Q)}})}tlsFirst(Y){return jI(this,void 0,void 0,function*(){let X,J={servername:this.tlsName,rejectUnauthorized:!0};if(this.socket)J.socket=this.socket;if(typeof this.options.tls==="object")try{let W=(yield this.loadClientCerts())||{};J=(0,sF6.extend)(J,this.options.tls,W)}catch(W){return Promise.reject(new S9.NatsError(W.message,S9.ErrorCode.Tls,W))}let G=(0,S9.deferred)();try{let W=(0,Uy1.connect)(Y.port,Y.hostname,J,()=>{W.removeAllListeners(),G.resolve(W)});W.on("error",(Z)=>{X=Z}),W.on("secureConnect",()=>{if(J.rejectUnauthorized===!1)return;if(!W.authorized)throw W.authorizationError}),W.on("close",()=>{G.reject(X),W.removeAllListeners()}),W.setNoDelay(!0)}catch(W){G.reject(S9.NatsError.errorForCode(S9.ErrorCode.Tls,W))}return G})}startTLS(){return jI(this,void 0,void 0,function*(){let Y,X={socket:this.socket,servername:this.tlsName,rejectUnauthorized:!0};if(typeof this.options.tls==="object")try{let G=(yield this.loadClientCerts())||{};X=(0,sF6.extend)(X,this.options.tls,G)}catch(G){return Promise.reject(new S9.NatsError(G.message,S9.ErrorCode.Tls,G))}let J=(0,S9.deferred)();try{let G=(0,Uy1.connect)(X,()=>{G.removeAllListeners(),J.resolve(G)});G.on("error",(W)=>{Y=W}),G.on("secureConnect",()=>{if(X.rejectUnauthorized===!1)return;if(!G.authorized)throw G.authorizationError}),G.on("close",()=>{J.reject(Y),G.removeAllListeners()})}catch(G){J.reject(S9.NatsError.errorForCode(S9.ErrorCode.Tls,G))}return J})}setupHandlers(){let Y;this.socket.on("data",(X)=>{return this.yields.push(X),this.signal.resolve()}),this.socket.on("error",(X)=>{Y=X}),this.socket.on("end",()=>{var X,J;if((X=this.socket)===null||X===void 0?void 0:X.destroyed)return;(J=this.socket)===null||J===void 0||J.write(new Uint8Array(0),()=>{var G;(G=this.socket)===null||G===void 0||G.end()})}),this.socket.on("close",()=>{this._closed(Y,!1)})}[Symbol.asyncIterator](){return this.iterate()}iterate(){return h$8(this,arguments,function*(){let X=this.options.debug;while(!0){if(this.yields.length===0)yield Vm(this.signal);let J=this.yields;this.yields=[];for(let G=0;G<J.length;G++){if(X)console.info(`> ${(0,S9.render)(J[G])}`);yield yield Vm(J[G])}if(this.done)break;else if(this.yields.length===0)J.length=0,this.yields=J,this.signal=(0,S9.deferred)()}})}discard(){}disconnect(){this._closed(void 0,!0).then().catch()}isEncrypted(){return this.socket instanceof Uy1.TLSSocket}_send(Y){if(this.isClosed||this.socket===void 0)return Promise.resolve();if(this.options.debug)console.info(`< ${(0,S9.render)(Y)}`);let X=(0,S9.deferred)();try{this.socket.write(Y,(J)=>{if(J){if(this.options.debug)console.error(`!!! ${(0,S9.render)(Y)}: ${J}`);return X.reject(J)}return X.resolve()})}catch(J){if(this.options.debug)console.error(`!!! ${(0,S9.render)(Y)}: ${J}`);X.reject(J)}return X}send(Y){this._send(Y).catch((J)=>{})}_closed(Y){return jI(this,arguments,void 0,function*(X,J=!0){if(!this.connected)return;if(this.done)return;if(this.closeError=X,!X&&this.socket&&J)try{yield this._send(new TextEncoder().encode(""))}catch(G){if(this.options.debug)console.log("transport close terminated with an error",G)}try{if(this.socket)this.socket.removeAllListeners(),this.socket.destroy(),this.socket=void 0}catch(G){console.log(G)}this.done=!0,this.closedNotification.resolve(this.closeError)})}closed(){return this.closedNotification}}t3.NodeTransport=eF6;function c$8(Y){return jI(this,void 0,void 0,function*(){let X=(0,S9.deferred)(),J=(0,S9.deferred)();tF6.resolve4(Y,(K,Q)=>{if(K)X.resolve(K);else X.resolve(Q)}),tF6.resolve6(Y,(K,Q)=>{if(K)J.resolve(K);else J.resolve(Q)});let G=[],W=yield X;if(Array.isArray(W))G.push(...W);let Z=yield J;if(Array.isArray(Z))G.push(...Z);if(G.length===0)G.push(Y);return G})}});var WV6=n((GV6)=>{Object.defineProperty(GV6,"__esModule",{value:!0});GV6.connect=p$8;var XV6=YV6(),JV6=zy1();function p$8(Y={}){return(0,JV6.setTransportFactory)({factory:()=>{return new XV6.NodeTransport},dnsResolveFn:XV6.nodeResolveHost}),JV6.NatsConnectionImpl.connect(Y)}});var ZV6=n((x5)=>{Object.defineProperty(x5,"__esModule",{value:!0});x5.consumerOpts=x5.StoreCompression=x5.StorageType=x5.RetentionPolicy=x5.RepublishHeaders=x5.ReplayPolicy=x5.KvWatchInclude=x5.JsHeaders=x5.DiscardPolicy=x5.DirectMsgHeaders=x5.DeliverPolicy=x5.ConsumerEvents=x5.ConsumerDebugEvents=x5.AdvisoryKind=x5.AckPolicy=x5.isHeartbeatMsg=x5.isFlowControlMsg=x5.checkJsError=void 0;var qy1=OX1();Object.defineProperty(x5,"checkJsError",{enumerable:!0,get:function(){return qy1.checkJsError}});Object.defineProperty(x5,"isFlowControlMsg",{enumerable:!0,get:function(){return qy1.isFlowControlMsg}});Object.defineProperty(x5,"isHeartbeatMsg",{enumerable:!0,get:function(){return qy1.isHeartbeatMsg}});var kZ=OX1();Object.defineProperty(x5,"AckPolicy",{enumerable:!0,get:function(){return kZ.AckPolicy}});Object.defineProperty(x5,"AdvisoryKind",{enumerable:!0,get:function(){return kZ.AdvisoryKind}});Object.defineProperty(x5,"ConsumerDebugEvents",{enumerable:!0,get:function(){return kZ.ConsumerDebugEvents}});Object.defineProperty(x5,"ConsumerEvents",{enumerable:!0,get:function(){return kZ.ConsumerEvents}});Object.defineProperty(x5,"DeliverPolicy",{enumerable:!0,get:function(){return kZ.DeliverPolicy}});Object.defineProperty(x5,"DirectMsgHeaders",{enumerable:!0,get:function(){return kZ.DirectMsgHeaders}});Object.defineProperty(x5,"DiscardPolicy",{enumerable:!0,get:function(){return kZ.DiscardPolicy}});Object.defineProperty(x5,"JsHeaders",{enumerable:!0,get:function(){return kZ.JsHeaders}});Object.defineProperty(x5,"KvWatchInclude",{enumerable:!0,get:function(){return kZ.KvWatchInclude}});Object.defineProperty(x5,"ReplayPolicy",{enumerable:!0,get:function(){return kZ.ReplayPolicy}});Object.defineProperty(x5,"RepublishHeaders",{enumerable:!0,get:function(){return kZ.RepublishHeaders}});Object.defineProperty(x5,"RetentionPolicy",{enumerable:!0,get:function(){return kZ.RetentionPolicy}});Object.defineProperty(x5,"StorageType",{enumerable:!0,get:function(){return kZ.StorageType}});Object.defineProperty(x5,"StoreCompression",{enumerable:!0,get:function(){return kZ.StoreCompression}});var i$8=Xq();Object.defineProperty(x5,"consumerOpts",{enumerable:!0,get:function(){return i$8.consumerOpts}})});var LX1=n((BV)=>{var r$8=BV&&BV.__createBinding||(Object.create?function(Y,X,J,G){if(G===void 0)G=J;var W=Object.getOwnPropertyDescriptor(X,J);if(!W||("get"in W?!X.__esModule:W.writable||W.configurable))W={enumerable:!0,get:function(){return X[J]}};Object.defineProperty(Y,G,W)}:function(Y,X,J,G){if(G===void 0)G=J;Y[G]=X[J]}),QV6=BV&&BV.__exportStar||function(Y,X){for(var J in Y)if(J!=="default"&&!Object.prototype.hasOwnProperty.call(X,J))r$8(X,Y,J)};Object.defineProperty(BV,"__esModule",{value:!0});BV.connect=void 0;if(typeof TextEncoder>"u"){let{TextEncoder:Y,TextDecoder:X}=U0("util");global.TextEncoder=Y,global.TextDecoder=X}if(typeof globalThis.crypto>"u"){let Y=U0("crypto");global.crypto=Y.webcrypto}if(typeof globalThis.ReadableStream>"u"){let Y=process.versions.node.split(".");if(parseInt(Y[0])>=16){let J=U0("stream/web");global.ReadableStream=J.ReadableStream}}var o$8=WV6();Object.defineProperty(BV,"connect",{enumerable:!0,get:function(){return o$8.connect}});QV6(jf1(),BV);QV6(ZV6(),BV)});var yX1={};bY(yX1,{waitForSeed:()=>bF8,seedLocalMode:()=>vF8,markSeedComplete:()=>yF8,isLocalMode:()=>dA,getLocalAdminUser:()=>vy1,getLocalAdminPassword:()=>fX1});import{randomBytes as RF8}from"crypto";import{mkdir as TF8,writeFile as CF8,chmod as jF8}from"fs/promises";import{userInfo as IF8}from"os";import{join as SF8}from"path";async function fX1(){if(vX1)return vX1;let Y=Z4.DATA_DIR,X=SF8(Y,"secrets.json");try{let G=Bun.file(X);if(await G.exists()){let W=await G.json();if(W.LOCAL_ADMIN_PASSWORD){let Z=W.LOCAL_ADMIN_PASSWORD;return vX1=Z,Z}}}catch{}let J=RF8(24).toString("base64");try{await TF8(Y,{recursive:!0,mode:448});let G={};try{let W=Bun.file(X);if(await W.exists())G=await W.json()}catch{}G.LOCAL_ADMIN_PASSWORD=J,await CF8(X,JSON.stringify(G,null,2),{mode:384}),await jF8(X,384)}catch(G){console.warn("Warning: Could not save secrets file:",G)}return vX1=J,J}function nV6(){try{return IF8().username||"local"}catch{return"local"}}function kF8(Y){return Y.charAt(0).toUpperCase()+Y.slice(1)}async function _F8(){let Y=HU(),X=await Y.db.selectFrom("user").select(Y.db.fn.countAll().as("count")).executeTakeFirst();return Number(X?.count??0)===0}async function vF8(){if(!await _F8())return!1;let X=nV6(),J=`${X}@localhost.mesh`,G=kF8(X),W=await fX1(),Z=await rK.api.signUpEmail({body:{email:J,password:W,name:G}});if(!Z?.user?.id)throw Error("Failed to create local admin user");let K=Z.user.id,Q=HU();await Q.db.updateTable("user").set({role:"admin"}).where("id","=",K).execute();let H=`${X}-local`.toLowerCase().replace(/[^a-z0-9-]/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,""),$=`${G} Local`;return await Q.db.updateTable("organization").set({name:$,slug:H}).where("id","in",(F)=>F.selectFrom("member").select("organizationId").where("userId","=",K)).execute(),!0}async function vy1(){let Y=HU(),X=`${nV6()}@localhost.mesh`;return Y.db.selectFrom("user").where("email","=",X).selectAll().executeTakeFirst()}function dA(){return Z4.MESH_LOCAL_MODE}function yF8(){iV6()}function bF8(){return fF8}var vX1=null,iV6,fF8;var SI=b(()=>{sh();P5();DA();fF8=new Promise((Y)=>{if(iV6=Y,!dA())Y()})});import{createHmac as aV8}from"crypto";import{mkdir as rV8,writeFile as oV8}from"fs/promises";import{dirname as sV8,join as hz6}from"path";function eV8(Y){let X=Y.replace(/[^a-zA-Z0-9_-]/g,"_");return hz6(tV8,X)}function Yz8(Y){return Y.replace(/^\/+/,"").replace(/\.\./g,"")}function xz6(Y,X){let J=eV8(Y),G=Yz8(X);return hz6(J,G)}function gz6(Y,X,J,G,W){let Z=Z4.ENCRYPTION_KEY||"dev-secret",K=`${Y}:${X}:${J}:${G}`,Q=aV8("sha256",Z).update(K).digest("hex");return W===Q}function sy1(Y){let X=Y.split(".").pop()?.toLowerCase()||"";return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",gif:"image/gif",webp:"image/webp",svg:"image/svg+xml",ico:"image/x-icon",bmp:"image/bmp",pdf:"application/pdf",json:"application/json",xml:"application/xml",txt:"text/plain",html:"text/html",htm:"text/html",css:"text/css",csv:"text/csv",md:"text/markdown",js:"application/javascript",mjs:"application/javascript",ts:"application/typescript",mp4:"video/mp4",webm:"video/webm",avi:"video/x-msvideo",mov:"video/quicktime",mp3:"audio/mpeg",wav:"audio/wav",ogg:"audio/ogg",zip:"application/zip",gz:"application/gzip",tar:"application/x-tar",woff:"font/woff",woff2:"font/woff2",ttf:"font/ttf",otf:"font/otf"}[X]||"application/octet-stream"}var tV8="./data/assets",oy1,uz6;var ty1=b(()=>{pZ();P5();oy1=new KX;oy1.get("/:orgId/*",async(Y)=>{let X=Y.req.param("orgId"),J=Y.req.path.replace(`/api/dev-assets/${X}/`,"");if(!X||!J)return Y.json({error:"Missing orgId or key"},400);let G=Y.req.query("expires"),W=Y.req.query("signature"),Z=Y.req.query("method");if(!G||!W||Z!=="GET")return Y.json({error:"Invalid or missing signature parameters"},400);let K=parseInt(G,10);if(!Number.isFinite(K))return Y.json({error:"Invalid expires parameter"},400);let Q=Math.floor(Date.now()/1000);if(K<Q)return Y.json({error:"URL has expired"},403);if(!gz6(X,J,K,"GET",W))return Y.json({error:"Invalid signature"},403);let H=xz6(X,J);try{let $=Bun.file(H);if(!await $.exists())return Y.json({error:"File not found"},404);let V=sy1(J);return new Response($.stream(),{headers:{"Content-Type":V,"Content-Length":$.size.toString(),"Cache-Control":"private, max-age=3600"}})}catch($){return console.error("Error serving file:",$),Y.json({error:"Failed to read file"},500)}});oy1.put("/:orgId/*",async(Y)=>{let X=Y.req.param("orgId"),J=Y.req.path.replace(`/api/dev-assets/${X}/`,"");if(!X||!J)return Y.json({error:"Missing orgId or key"},400);let G=Y.req.query("expires"),W=Y.req.query("signature"),Z=Y.req.query("method");if(!G||!W||Z!=="PUT")return Y.json({error:"Invalid or missing signature parameters"},400);let K=parseInt(G,10);if(!Number.isFinite(K))return Y.json({error:"Invalid expires parameter"},400);let Q=Math.floor(Date.now()/1000);if(K<Q)return Y.json({error:"URL has expired"},403);if(!gz6(X,J,K,"PUT",W))return Y.json({error:"Invalid signature"},403);let H=xz6(X,J),$=sV8(H);try{await rV8($,{recursive:!0});let F=await Y.req.arrayBuffer();return await oV8(H,Buffer.from(F)),Y.json({success:!0,key:J})}catch(F){return console.error("Error saving file:",F),Y.json({error:"Failed to save file"},500)}});uz6=oy1});import{createHmac as cz6}from"crypto";import{mkdir as Xz8,readdir as Jz8,rm as mz6,stat as pz6}from"fs/promises";import{join as Yb1,relative as Gz8}from"path";function iz6(Y){let X=Y.replace(/[^a-zA-Z0-9_-]/g,"_");return Yb1(Wz8,X)}function az6(Y){return Y.replace(/^\/+/,"").replace(/\.\./g,"")}function ey1(Y,X){let J=iz6(Y),G=az6(X);return Yb1(J,G)}function Zz8(Y,X,J,G){let W=Z4.ENCRYPTION_KEY||"dev-secret",Z=`${Y}:${X}:${J}:${G}`;return cz6("sha256",W).update(Z).digest("hex")}function dz6(Y,X,J,G,W){let Z=Math.floor(Date.now()/1000)+G,K=Zz8(X,J,Z,W),Q=new URL(`/api/dev-assets/${X}/${az6(J)}`,Y);return Q.searchParams.set("expires",Z.toString()),Q.searchParams.set("signature",K),Q.searchParams.set("method",W),Q.toString()}function rz6(Y,X,J){let G=`${Y}:${X.getTime()}:${J}`;return`"${cz6("md5","etag").update(G).digest("hex")}"`}async function oz6(Y,X,J,G,W){try{let Z=await Jz8(Y,{withFileTypes:!0});for(let K of Z){let Q=Yb1(Y,K.name),$=Gz8(X,Q).replace(/\\/g,"/");if(J&&!$.startsWith(J))continue;if(K.isDirectory())if(G){let F=$+"/";if(!J||F.startsWith(J)){if(!(J?$.slice(J.length):$).includes("/"))W.commonPrefixes.add(F)}}else await oz6(Q,X,J,G,W);else if(K.isFile()){if(G&&J){let F=$.slice(J.length);if(F.includes(G)){let V=F.indexOf(G),z=J+F.slice(0,V+1);W.commonPrefixes.add(z);continue}}try{let F=await pz6(Q);W.objects.push({key:$,size:F.size,lastModified:F.mtime.toISOString(),etag:rz6(Q,F.mtime,F.size)})}catch{}}}}catch{}}function sz6(Y,X){let G=B6(Y).id;return[{name:"LIST_OBJECTS",description:"List objects in the local assets directory with pagination support",inputSchema:B.object({prefix:B.string().optional(),maxKeys:B.number().optional().default(1000),continuationToken:B.string().optional(),delimiter:B.string().optional()}),outputSchema:B.object({objects:B.array(B.object({key:B.string(),size:B.number(),lastModified:B.string(),etag:B.string()})),nextContinuationToken:B.string().optional(),isTruncated:B.boolean(),commonPrefixes:B.array(B.string()).optional()}),handler:async(W)=>{let Z=W,K=Z.prefix||"",Q=Z.maxKeys??1000,H=Z.delimiter,$=Z.continuationToken,F=iz6(G);await Xz8(F,{recursive:!0});let V={objects:[],commonPrefixes:new Set};await oz6(F,F,K,H,V),V.objects.sort((L,w)=>L.key.localeCompare(w.key));let z=0;if($){if(z=V.objects.findIndex((L)=>L.key>$),z===-1)z=V.objects.length}let U=V.objects.slice(z,z+Q),q=z+Q<V.objects.length,D=q?U[U.length-1]?.key:void 0;return{objects:U,isTruncated:q,nextContinuationToken:D,commonPrefixes:Array.from(V.commonPrefixes).sort()}}},{name:"GET_OBJECT_METADATA",description:"Get metadata for a file in the local assets directory",inputSchema:B.object({key:B.string()}),outputSchema:B.object({contentType:B.string().optional(),contentLength:B.number(),lastModified:B.string(),etag:B.string(),metadata:B.record(B.string(),B.string()).optional()}),handler:async(W)=>{let Z=W,K=ey1(G,Z.key),Q=await pz6(K);return{contentType:sy1(Z.key),contentLength:Q.size,lastModified:Q.mtime.toISOString(),etag:rz6(K,Q.mtime,Q.size)}}},{name:"GET_PRESIGNED_URL",description:"Generate a presigned URL for downloading a file from local storage",inputSchema:B.object({key:B.string(),expiresIn:B.number().optional()}),outputSchema:B.object({url:B.string(),expiresIn:B.number()}),handler:async(W)=>{let Z=W,K=Z.expiresIn??lz6;return{url:dz6(X,G,Z.key,K,"GET"),expiresIn:K}}},{name:"PUT_PRESIGNED_URL",description:"Generate a presigned URL for uploading a file to local storage",inputSchema:B.object({key:B.string(),expiresIn:B.number().optional(),contentType:B.string().optional()}),outputSchema:B.object({url:B.string(),expiresIn:B.number()}),handler:async(W)=>{let Z=W,K=Z.expiresIn??lz6;return{url:dz6(X,G,Z.key,K,"PUT"),expiresIn:K}}},{name:"DELETE_OBJECT",description:"Delete a single file from local storage",inputSchema:B.object({key:B.string()}),outputSchema:B.object({success:B.boolean(),key:B.string()}),handler:async(W)=>{let Z=W,K=ey1(G,Z.key);try{return await mz6(K),{success:!0,key:Z.key}}catch{return{success:!1,key:Z.key}}}},{name:"DELETE_OBJECTS",description:"Delete multiple files from local storage",inputSchema:B.object({keys:B.array(B.string()).max(1000)}),outputSchema:B.object({deleted:B.array(B.string()),errors:B.array(B.object({key:B.string(),message:B.string()}))}),handler:async(W)=>{let Z=W,K=[],Q=[];return await Promise.all(Z.keys.map(async(H)=>{let $=ey1(G,H);try{await mz6($),K.push(H)}catch(F){Q.push({key:H,message:F instanceof Error?F.message:"Unknown error"})}})),{deleted:K,errors:Q}}}]}async function Xb1(Y,X,J){let G=sz6(X,J),W=new Fz({name:"dev-assets-mcp",version:"1.0.0"},{capabilities:{tools:{}}});for(let K of G){let Q="shape"in K.inputSchema?K.inputSchema.shape:B.object({}).shape,H=K.outputSchema&&"shape"in K.outputSchema?K.outputSchema.shape:B.object({}).shape;W.registerTool(K.name,{description:K.description??"",inputSchema:Q,outputSchema:H,annotations:K.annotations,_meta:K._meta},async($)=>{try{let F=await K.handler($);return{content:[{type:"text",text:JSON.stringify(F)}],structuredContent:F}}catch(F){return{content:[{type:"text",text:`Error: ${F.message}`}],isError:!0}}})}let Z=new _3({enableJsonResponse:Y.headers.get("Accept")?.includes("application/json")??!1});return await W.connect(Z),Z.handleRequest(Y)}async function tz6(Y,X,J,G){let Z=sz6(J,G).find((K)=>K.name===Y);if(!Z)return{content:[{type:"text",text:`Tool not found: ${Y}`}],isError:!0};try{let K=await Z.handler(X);return{content:[{type:"text",text:JSON.stringify(K)}]}}catch(K){return{content:[{type:"text",text:K instanceof Error?K.message:String(K)}],isError:!0}}}var Wz8="./data/assets",lz6=3600,nz6,ez6;var YU6=b(()=>{P5();pZ();d0();_f();eC();ty1();nz6=new KX;nz6.all("/",async(Y)=>{let X=Y.get("meshContext"),J=new URL(Y.req.url),G=`${J.protocol}//${J.host}`;return Xb1(Y.req.raw,X,G)});ez6=nz6});var XU6={};bY(XU6,{mountDevRoutes:()=>Qz8});function Qz8(Y,X){Y.all("/mcp/:connectionId{.*_dev-assets$}",X,async(J)=>{let G=J.get("meshContext"),W=new URL(J.req.url),Z=`${W.protocol}//${W.host}`;return Xb1(J.req.raw,G,Z)}),Y.all("/mcp/:connectionId{.*_dev-assets$}/call-tool/:toolName",X,async(J)=>{let G=J.get("meshContext"),W=new URL(J.req.url),Z=`${W.protocol}//${W.host}`,K=J.req.param("toolName");if(!K)return J.json({error:"Missing tool name"},400);let Q=await J.req.json(),H=await tz6(K,Q,G,Z);if(H.isError)return J.json(H.content,500);return J.json(H.content)}),Y.use("/mcp/dev-assets",X),Y.route("/mcp/dev-assets",ez6),Y.route("/api/dev-assets",uz6)}var JU6=b(()=>{YU6();ty1()});_L();rP();var ZM0=["connection","keep-alive","proxy-authenticate","proxy-authorization","te","trailer","transfer-encoding","upgrade"],CW4=/^[!#$%&'*+\-.0-9A-Z^_`a-z|~]+$/,jW4=(Y,X)=>{if(!Y)return{};let J=new Headers(Y.headers);if(X){let G=J.get("connection");if(G){let W=G.split(",").map((K)=>K.trim()),Z=W.filter((K)=>!CW4.test(K));if(Z.length>0)throw new T5(400,{message:`Invalid Connection header value: ${Z.join(", ")}`});W.forEach((K)=>{J.delete(K)})}}return ZM0.forEach((G)=>{J.delete(G)}),{method:Y.method,body:Y.body,duplex:Y.body?"half":void 0,headers:J,signal:Y.signal}},IW4=(Y)=>{if(!Y.headers||Array.isArray(Y.headers)||Y.headers instanceof Headers)return Y;let X=new Headers;for(let[J,G]of Object.entries(Y.headers))if(G==null)X.delete(J);else X.set(J,G);return Y.headers=X,Y},QM0=async(Y,X)=>{let{raw:J,customFetch:G,strictConnectionProcessing:W=!1,...Z}=X instanceof Request?{raw:X}:X??{},K=new Request(Y,{...jW4(J,W),...IW4(Z)});K.headers.delete("accept-encoding");let Q=await(G||fetch)(K),H=new Headers(Q.headers);if(ZM0.forEach(($)=>{H.delete($)}),H.has("content-encoding"))H.delete("content-encoding"),H.delete("content-length");return new Response(Q.body,{status:Q.status,statusText:Q.statusText,headers:H})};var KM0=(Y)=>(X)=>{let J=new URL(X.req.raw.url),G=new URL(Y);return G.pathname=J.pathname,G.search=J.search,QM0(G,{raw:X.req.raw,headers:{...X.req.raw.headers}})};import{resolve as Av,dirname as SW4,join as kW4,extname as _W4,basename as vW4,sep as HM0}from"path";function fW4(Y,X){if(Y===X||vW4(Y)==="index.html")return{"Cache-Control":"no-cache"};if(Y.includes(`${HM0}assets${HM0}`))return{"Cache-Control":"public, max-age=31536000, immutable"};return{}}var yW4=`http://localhost:${process.env.VITE_PORT||"4000"}`,bW4="./dist/client";function hW4(Y,X){let J=Av(X),G=Av(Y);return G===J||G.startsWith(J+"/")}function xW4({requestPath:Y,clientDir:X}){let J=Y.startsWith("/")?Y.slice(1):Y,G=Av(X,J);if(!hW4(G,X))return null;return G}function gV1(Y,X="../client"){let J=new URL(Y),G=SW4(J.pathname);return Av(G,X)}function $M0(Y={}){let{env:X="production",devServerUrl:J=yW4,clientDir:G=bW4,isServerPath:W=()=>!1}=Y;if(X==="development"){let Z=KM0(J);return async function(Q){let H=new URL(Q.url);if(W(H.pathname))return null;let $={req:{raw:Q,url:Q.url}};return Z($)}}return async function(K){if(K.method!=="GET")return null;let Q=new URL(K.url),H;try{H=decodeURIComponent(Q.pathname)}catch{return null}if(W(H))return null;let $=xW4({requestPath:H,clientDir:G});if(!$)return null;let F=kW4($,"index.html"),V=Av(G,"index.html"),z=K.headers.get("accept"),q=z?.includes("text/html")||z?.includes("*/*")&&["",".html"].includes(_W4($))?[F,V]:[];for(let D of[$,...q])try{let L=Bun.file(D);if(await L.exists())return new Response(L,{headers:fW4(D,V)})}catch{}if(H.includes("/assets/"))return new Response("Not Found",{status:404,headers:{"Cache-Control":"no-store"}});return null}}P5();var FM0="https://studio.decocms.com/org/deco/registry/mcp";function VM0(Y){if(!Y)return!1;try{return new URL(Y).host==="api.decocms.com"&&Y!=="https://studio.decocms.com/org/deco/registry/mcp"}catch{return!1}}XX();pZ();var GU6=f4(g71(),1);RB();var lD4=/^[\w!#$%&'*.^`|~+-]+$/,dD4=/^[ !#-:<-[\]-~]*$/,VB1=(Y,X)=>{if(X&&Y.indexOf(X)===-1)return{};let J=Y.trim().split(";"),G={};for(let W of J){W=W.trim();let Z=W.indexOf("=");if(Z===-1)continue;let K=W.substring(0,Z).trim();if(X&&X!==K||!lD4.test(K))continue;let Q=W.substring(Z+1).trim();if(Q.startsWith('"')&&Q.endsWith('"'))Q=Q.slice(1,-1);if(dD4.test(Q)){if(G[K]=Q.indexOf("%")!==-1?yE(Q,vf):Q,X)break}}return G};var $C0=(Y,X,J)=>{let G=Y.req.raw.headers.get("Cookie");if(typeof X==="string"){if(!G)return;let Z=X;if(J==="secure")Z="__Secure-"+X;else if(J==="host")Z="__Host-"+X;return VB1(G,Z)[Z]}if(!G)return{};return VB1(G)};var FC0=(Y)=>{let J={...{origin:"*",allowMethods:["GET","HEAD","PUT","POST","DELETE","PATCH"],allowHeaders:[],exposeHeaders:[]},...Y},G=((Z)=>{if(typeof Z==="string")if(Z==="*")return()=>Z;else return(K)=>Z===K?K:null;else if(typeof Z==="function")return Z;else return(K)=>Z.includes(K)?K:null})(J.origin),W=((Z)=>{if(typeof Z==="function")return Z;else if(Array.isArray(Z))return()=>Z;else return()=>[]})(J.allowMethods);return async function(K,Q){function H(F,V){K.res.headers.set(F,V)}let $=await G(K.req.header("origin")||"",K);if($)H("Access-Control-Allow-Origin",$);if(J.credentials)H("Access-Control-Allow-Credentials","true");if(J.exposeHeaders?.length)H("Access-Control-Expose-Headers",J.exposeHeaders.join(","));if(K.req.method==="OPTIONS"){if(J.origin!=="*")H("Vary","Origin");if(J.maxAge!=null)H("Access-Control-Max-Age",J.maxAge.toString());let F=await W(K.req.header("origin")||"",K);if(F.length)H("Access-Control-Allow-Methods",F.join(","));let V=J.allowHeaders;if(!V?.length){let z=K.req.header("Access-Control-Request-Headers");if(z)V=z.split(/\s*,\s*/)}if(V?.length)H("Access-Control-Allow-Headers",V.join(",")),K.res.headers.append("Vary","Access-Control-Request-Headers");return K.res.headers.delete("Content-Length"),K.res.headers.delete("Content-Type"),new Response(null,{headers:K.res.headers,status:204,statusText:"No Content"})}if(await Q(),J.origin!=="*")K.header("Vary","Origin",{append:!0})}};function cD4(){let{process:Y,Deno:X}=globalThis;return!(typeof X?.noColor==="boolean"?X.noColor:Y!==void 0?"NO_COLOR"in Y?.env:!1)}async function VC0(){let{navigator:Y}=globalThis,X="cloudflare:workers";return!(Y!==void 0&&Y.userAgent==="Cloudflare-Workers"?await(async()=>{try{return"NO_COLOR"in((await import("cloudflare:workers")).env??{})}catch{return!1}})():!cD4())}var pD4=(Y)=>{let[X,J]=[",","."];return Y.map((W)=>W.replace(/(\d)(?=(\d\d\d)+(?!\d))/g,"$1"+X)).join(J)},nD4=(Y)=>{let X=Date.now()-Y;return pD4([X<1000?X+"ms":Math.round(X/1000)+"s"])},iD4=async(Y)=>{if(await VC0())switch(Y/100|0){case 5:return`\x1B[31m${Y}\x1B[0m`;case 4:return`\x1B[33m${Y}\x1B[0m`;case 3:return`\x1B[36m${Y}\x1B[0m`;case 2:return`\x1B[32m${Y}\x1B[0m`}return`${Y}`};async function zC0(Y,X,J,G,W=0,Z){let K=X==="<--"?`${X} ${J} ${G}`:`${X} ${J} ${G} ${await iD4(W)} ${Z}`;Y(K)}var UC0=(Y=console.log)=>{return async function(J,G){let{method:W,url:Z}=J.req,K=Z.slice(Z.indexOf("/",8));await zC0(Y,"<--",W,K);let Q=Date.now();await G(),await zC0(Y,"-->",W,K,J.res.status,nD4(Q))}};po();var qC0=()=>{try{return performance.now()}catch{}return Date.now()},zB1=(Y)=>{let X={total:!0,enabled:!0,totalDescription:"Total Response Time",autoEnd:!0,crossOrigin:!1,...Y};return async function(G,W){let Z=[],K=new Map;if(G.get("metric"))return await W();if(G.set("metric",{headers:Z,timers:K}),X.total)hE(G,"total",X.totalDescription);if(await W(),X.total)oN(G,"total");if(X.autoEnd)K.forEach((H,$)=>oN(G,$));if(typeof X.enabled==="function"?X.enabled(G):X.enabled){G.res.headers.append("Server-Timing",Z.join(","));let H=typeof X.crossOrigin==="function"?X.crossOrigin(G):X.crossOrigin;if(H)G.res.headers.append("Timing-Allow-Origin",typeof H==="string"?H:"*")}}},BC0=(Y,X,J,G,W)=>{let Z=Y.get("metric");if(!Z){console.warn("Metrics not initialized! Please add the `timing()` middleware to this route!");return}if(typeof J==="number"){let K=J.toFixed(W||1),Q=G?`${X};dur=${K};desc="${G}"`:`${X};dur=${K}`;Z.headers.push(Q)}else{let K=J?`${X};desc="${J}"`:`${X}`;Z.headers.push(K)}},hE=(Y,X,J)=>{let G=Y.get("metric");if(!G){console.warn("Metrics not initialized! Please add the `timing()` middleware to this route!");return}G.timers.set(X,{description:J,start:qC0()})},oN=(Y,X,J)=>{let G=Y.get("metric");if(!G){console.warn("Metrics not initialized! Please add the `timing()` middleware to this route!");return}let W=G.timers.get(X);if(!W){console.warn(`Timer "${X}" does not exist!`);return}let{description:Z,start:K}=W,Q=qC0()-K;BC0(Y,X,Q,Z,J),G.timers.delete(X)};DA();Wk1();p01();P5();TD();e21();DQ();XX();rU();class u_1{db;constructor(Y){this.db=Y}async create(Y,X,J){let G=r9("vir"),W=new Date().toISOString();if(await this.db.insertInto("connections").values({id:G,organization_id:Y,created_by:X,title:J.title,description:J.description??null,icon:J.icon??null,app_name:null,app_id:null,connection_type:"VIRTUAL",connection_url:`virtual://${G}`,connection_token:null,connection_headers:null,oauth_config:null,configuration_state:null,configuration_scopes:null,metadata:J.metadata?JSON.stringify(J.metadata):null,tools:null,bindings:null,status:J.status??"active",created_at:W,updated_at:W}).execute(),J.connections.length>0)await this.db.insertInto("connection_aggregations").values(J.connections.map((K)=>({id:r9("agg"),parent_connection_id:G,child_connection_id:K.connection_id,selected_tools:K.selected_tools?JSON.stringify(K.selected_tools):null,selected_resources:K.selected_resources?JSON.stringify(K.selected_resources):null,selected_prompts:K.selected_prompts?JSON.stringify(K.selected_prompts):null,dependency_mode:"direct",created_at:W}))).execute();let Z=await this.findById(G);if(!Z)throw Error(`Failed to create virtual MCP with id: ${G}`);return Z}async findById(Y,X){let J=$z(Y);if(J){let G=X??J,W=await this.db.selectFrom("connections").selectAll().where("organization_id","=",G).where("status","!=","inactive").where("status","!=","error").execute();return{...vo(G),connections:W.map((Z)=>({connection_id:Z.id,selected_tools:null,selected_resources:null,selected_prompts:null}))}}return this.findByIdInternal(this.db,Y)}async findByIdInternal(Y,X){let J=await Y.selectFrom("connections").selectAll().where("id","=",X).where("connection_type","=","VIRTUAL").executeTakeFirst();if(!J)return null;let G=await Y.selectFrom("connection_aggregations").selectAll().where("parent_connection_id","=",X).where("dependency_mode","=","direct").execute();return this.deserializeVirtualMCPEntity(J,G)}async list(Y){let X=await this.db.selectFrom("connections").selectAll().where("organization_id","=",Y).where("connection_type","=","VIRTUAL").execute(),J=X.map((Z)=>Z.id);if(J.length===0)return[];let G=await this.db.selectFrom("connection_aggregations").selectAll().where("parent_connection_id","in",J).where("dependency_mode","=","direct").execute(),W=new Map;for(let Z of G){let K=W.get(Z.parent_connection_id)??[];K.push(Z),W.set(Z.parent_connection_id,K)}return X.map((Z)=>this.deserializeVirtualMCPEntity(Z,W.get(Z.id)??[]))}async listByConnectionId(Y,X){let G=(await this.db.selectFrom("connection_aggregations").select("parent_connection_id").where("child_connection_id","=",X).execute()).map((H)=>H.parent_connection_id);if(G.length===0)return[];let W=await this.db.selectFrom("connections").selectAll().where("id","in",G).where("organization_id","=",Y).where("connection_type","=","VIRTUAL").execute();if(W.length===0)return[];let Z=W.map((H)=>H.id),K=await this.db.selectFrom("connection_aggregations").selectAll().where("parent_connection_id","in",Z).where("dependency_mode","=","direct").execute(),Q=new Map;for(let H of K){let $=Q.get(H.parent_connection_id)??[];$.push(H),Q.set(H.parent_connection_id,$)}return W.map((H)=>this.deserializeVirtualMCPEntity(H,Q.get(H.id)??[]))}async update(Y,X,J){let G=new Date().toISOString(),W={updated_at:G,updated_by:X};if(J.title!==void 0)W.title=J.title;if(J.description!==void 0)W.description=J.description;if(J.icon!==void 0)W.icon=J.icon;if(J.status!==void 0)W.status=J.status;if(J.metadata!==void 0)W.metadata=J.metadata?JSON.stringify(J.metadata):null;if(await this.db.updateTable("connections").set(W).where("id","=",Y).where("connection_type","=","VIRTUAL").execute(),J.connections!==void 0){if(await this.db.deleteFrom("connection_aggregations").where("parent_connection_id","=",Y).where("dependency_mode","=","direct").execute(),J.connections.length>0)await this.db.insertInto("connection_aggregations").values(J.connections.map((K)=>({id:r9("agg"),parent_connection_id:Y,child_connection_id:K.connection_id,selected_tools:K.selected_tools?JSON.stringify(K.selected_tools):null,selected_resources:K.selected_resources?JSON.stringify(K.selected_resources):null,selected_prompts:K.selected_prompts?JSON.stringify(K.selected_prompts):null,dependency_mode:"direct",created_at:G}))).execute()}let Z=await this.findById(Y);if(!Z)throw Error("Virtual MCP not found after update");return Z}async delete(Y){await this.db.deleteFrom("connection_aggregations").where("parent_connection_id","=",Y).execute(),await this.db.deleteFrom("connections").where("id","=",Y).where("connection_type","=","VIRTUAL").execute()}async removeConnectionReferences(Y){await this.db.deleteFrom("connection_aggregations").where("child_connection_id","=",Y).execute()}deserializeVirtualMCPEntity(Y,X){let J=Y.created_at instanceof Date?Y.created_at.toISOString():Y.created_at,G=Y.updated_at instanceof Date?Y.updated_at.toISOString():Y.updated_at,W=Y.status==="active"?"active":"inactive",Z=this.parseJson(Y.metadata);return{id:Y.id,organization_id:Y.organization_id,title:Y.title,description:Y.description,icon:Y.icon,status:W,created_at:J,updated_at:G,created_by:Y.created_by,updated_by:Y.updated_by??void 0,metadata:{...Z,instructions:Z?.instructions??null},connections:X.map((K)=>({connection_id:K.child_connection_id,selected_tools:this.parseJson(K.selected_tools),selected_resources:this.parseJson(K.selected_resources),selected_prompts:this.parseJson(K.selected_prompts)}))}}parseJson(Y){if(Y===null)return null;if(typeof Y==="string")try{return JSON.parse(Y)}catch{return null}return Y}async listVirtualTools(Y){let X=await this.db.selectFrom("connections").select(["tools","created_at","updated_at"]).where("id","=",Y).where("connection_type","=","VIRTUAL").executeTakeFirst();if(!X)return[];let J=this.parseJson(X.tools);if(!J)return[];let G=X.created_at instanceof Date?X.created_at.toISOString():X.created_at,W=X.updated_at instanceof Date?X.updated_at.toISOString():X.updated_at;return J.map((Z,K)=>({tool:Z,originalIndex:K})).filter(({tool:Z})=>wO(Z)).map(({tool:Z,originalIndex:K})=>vu(`${Y}:${Z.name}:${K}`,Z,G,W))}async getVirtualTool(Y,X){let J=await this.db.selectFrom("connections").select(["tools","created_at","updated_at"]).where("id","=",Y).where("connection_type","=","VIRTUAL").executeTakeFirst();if(!J)return null;let G=this.parseJson(J.tools);if(!G)return null;let W=G.findIndex((H)=>H.name===X&&wO(H));if(W===-1)return null;let Z=G[W],K=J.created_at instanceof Date?J.created_at.toISOString():J.created_at,Q=J.updated_at instanceof Date?J.updated_at.toISOString():J.updated_at;return vu(`${Y}:${Z.name}:${W}`,Z,K,Q)}async createVirtualTool(Y,X,J){let G=new Date().toISOString(),W=await this.db.selectFrom("connections").select(["tools"]).where("id","=",Y).where("connection_type","=","VIRTUAL").executeTakeFirst();if(!W)throw Error(`Virtual MCP not found: ${Y}`);let Z=this.parseJson(W.tools)??[];if(Z.some((Q)=>Q.name===X.name))throw Error(`Tool with name "${X.name}" already exists`);let K={name:X.name,description:X.description,inputSchema:X.inputSchema,outputSchema:X.outputSchema,annotations:X.annotations,_meta:{"mcp.mesh":{"tool.fn":X.code},connectionDependencies:J}};return Z.push(K),await this.db.updateTable("connections").set({tools:JSON.stringify(Z),updated_at:G}).where("id","=",Y).execute(),await this.syncIndirectDependencies(Y,J),vu(`${Y}:${X.name}:${Z.length-1}`,K,G,G)}async updateVirtualTool(Y,X,J,G){let W=new Date().toISOString(),Z=await this.db.selectFrom("connections").select(["tools","created_at"]).where("id","=",Y).where("connection_type","=","VIRTUAL").executeTakeFirst();if(!Z)throw Error(`Virtual MCP not found: ${Y}`);let K=this.parseJson(Z.tools)??[],Q=K.findIndex((z)=>z.name===X&&wO(z));if(Q===-1)throw Error(`Virtual tool not found: ${X}`);let H=K[Q];if(J.name&&J.name!==X){if(K.some((z)=>z.name===J.name))throw Error(`Tool with name "${J.name}" already exists`)}let $=G??H._meta.connectionDependencies??[],F={name:J.name??H.name,description:J.description!==void 0?J.description??void 0:H.description,inputSchema:J.inputSchema??H.inputSchema,outputSchema:J.outputSchema!==void 0?J.outputSchema??void 0:H.outputSchema,annotations:J.annotations!==void 0?J.annotations??void 0:H.annotations,_meta:{"mcp.mesh":{"tool.fn":J.code??H._meta["mcp.mesh"]["tool.fn"]},connectionDependencies:$}};if(K[Q]=F,await this.db.updateTable("connections").set({tools:JSON.stringify(K),updated_at:W}).where("id","=",Y).execute(),G!==void 0)await this.recalculateIndirectDependencies(Y,K);let V=Z.created_at instanceof Date?Z.created_at.toISOString():Z.created_at;return vu(`${Y}:${F.name}:${Q}`,F,V,W)}async deleteVirtualTool(Y,X){let J=new Date().toISOString(),G=await this.db.selectFrom("connections").select(["tools"]).where("id","=",Y).where("connection_type","=","VIRTUAL").executeTakeFirst();if(!G)throw Error(`Virtual MCP not found: ${Y}`);let W=this.parseJson(G.tools)??[],Z=W.findIndex((K)=>K.name===X&&wO(K));if(Z===-1)throw Error(`Virtual tool not found: ${X}`);W.splice(Z,1),await this.db.updateTable("connections").set({tools:W.length>0?JSON.stringify(W):null,updated_at:J}).where("id","=",Y).execute(),await this.recalculateIndirectDependencies(Y,W)}async syncIndirectDependencies(Y,X){if(X.length===0)return;let J=new Date().toISOString(),G=await this.db.selectFrom("connection_aggregations").select(["child_connection_id","dependency_mode"]).where("parent_connection_id","=",Y).execute(),W=new Set(G.map((K)=>K.child_connection_id)),Z=X.filter((K)=>!W.has(K));if(Z.length>0)await this.db.insertInto("connection_aggregations").values(Z.map((K)=>({id:r9("agg"),parent_connection_id:Y,child_connection_id:K,selected_tools:null,selected_resources:null,selected_prompts:null,dependency_mode:"indirect",created_at:J}))).execute()}async recalculateIndirectDependencies(Y,X){let J=new Set;for(let Q of X)if(wO(Q)){let H=Q._meta.connectionDependencies??[];for(let $ of H)J.add($)}let G=await this.db.selectFrom("connection_aggregations").select(["id","child_connection_id","dependency_mode"]).where("parent_connection_id","=",Y).execute(),W=G.filter((Q)=>Q.dependency_mode==="indirect"&&!J.has(Q.child_connection_id)).map((Q)=>Q.id);if(W.length>0)await this.db.deleteFrom("connection_aggregations").where("id","in",W).execute();let Z=new Set(G.map((Q)=>Q.child_connection_id)),K=Array.from(J).filter((Q)=>!Z.has(Q));if(K.length>0){let Q=new Date().toISOString();await this.db.insertInto("connection_aggregations").values(K.map((H)=>({id:r9("agg"),parent_connection_id:Y,child_connection_id:H,selected_tools:null,selected_resources:null,selected_prompts:null,dependency_mode:"indirect",created_at:Q}))).execute()}}}function XJ(Y){return Y.replace(/\0/g,"").replace(/\\/g,"\\\\").replace(/'/g,"''")}var JJ8=new Set(["connection_id","connection_title","user_id","tool_name","virtual_mcp_id"]);function GJ8(Y){if(!JJ8.has(Y))throw Error(`Invalid groupByColumn: ${Y}`);return Y}var WJ8=/^(\$\.)?[a-zA-Z0-9_]+(\.[a-zA-Z0-9_]+)*$/;function m_1(Y){if(!WJ8.test(Y))throw Error(`Invalid JSONPath: ${Y}`);if(Y.startsWith("$."))return Y;if(Y.startsWith("."))return`$${Y}`;return`$.${Y}`}function l_1(Y){return Y.replace(/^\$\./,"").split(".").map((J)=>`'${XJ(J)}'`).join(", ")}var ZJ8=/^(\d+)([mhd])$/,QJ8={m:525960,h:8760,d:365};function KJ8(Y){let X=ZJ8.exec(Y);if(!X||!X[1]||!X[2])throw Error(`Invalid interval: ${Y}`);let J=parseInt(X[1],10),G=X[2],W=QJ8[G];if(J<1||J>W)throw Error(`Invalid interval amount: ${J}${G} (max ${W}${G})`);return{amount:J,unit:G}}function HJ8(Y){let{amount:X,unit:J}=KJ8(Y),W={m:"MINUTE",h:"HOUR",d:"DAY"}[J];return`toStartOfInterval(parseDateTime64BestEffort(toString(timestamp)), INTERVAL ${X} ${W})`}function d_1(Y){if(Y===null||Y===void 0)return{};if(typeof Y==="object")return Y;try{return JSON.parse(String(Y))}catch{return{}}}function $J8(Y){return{id:String(Y.id??""),organizationId:String(Y.organization_id??""),connectionId:String(Y.connection_id??""),connectionTitle:String(Y.connection_title??""),toolName:String(Y.tool_name??""),input:d_1(Y.input),output:d_1(Y.output),isError:Y.is_error===1||Y.is_error===!0||Y.is_error==="1",errorMessage:Y.error_message!=null?String(Y.error_message):null,durationMs:Number(Y.duration_ms??0),timestamp:Y.timestamp instanceof Date?Y.timestamp.toISOString():String(Y.timestamp??""),userId:Y.user_id!=null?String(Y.user_id):null,requestId:String(Y.request_id??""),userAgent:Y.user_agent!=null?String(Y.user_agent):null,virtualMcpId:Y.virtual_mcp_id!=null?String(Y.virtual_mcp_id):null,properties:Y.properties?d_1(Y.properties):null}}function SZ6(Y){let X=[];if(Y.properties)for(let[J,G]of Object.entries(Y.properties)){let W=XJ(J),Z=XJ(G);X.push(`JSONExtractString(properties, '${W}') = '${Z}'`)}if(Y.propertyKeys)for(let J of Y.propertyKeys){let G=XJ(J);X.push(`JSONExtractString(properties, '${G}') IS NOT NULL AND JSONExtractString(properties, '${G}') != ''`)}if(Y.propertyPatterns)for(let[J,G]of Object.entries(Y.propertyPatterns)){let W=XJ(J),Z=XJ(G);X.push(`JSONExtractString(properties, '${W}') ILIKE '${Z}'`)}if(Y.propertyInValues)for(let[J,G]of Object.entries(Y.propertyInValues)){let W=XJ(J),Z=XJ(G);X.push(`has(splitByChar(',', JSONExtractString(properties, '${W}')), '${Z}')`)}return X}function IZ6(Y){if(!Y)return[];let X=[];if(Y.connectionIds?.length){let J=Y.connectionIds.map((G)=>`'${XJ(G)}'`).join(",");X.push(`connection_id IN (${J})`)}if(Y.toolNames?.length){let J=Y.toolNames.map((G)=>`'${XJ(G)}'`).join(",");X.push(`tool_name IN (${J})`)}if(Y.virtualMcpIds?.length){let J=Y.virtualMcpIds.map((G)=>`'${XJ(G)}'`).join(",");X.push(`virtual_mcp_id IN (${J})`)}if(Y.startDate)X.push(c_1(Y.startDate));if(Y.endDate)X.push(p_1(Y.endDate));if(Y.propertyFilters)X.push(...SZ6(Y.propertyFilters));return X}function c_1(Y){return`parseDateTime64BestEffort(toString(timestamp)) >= parseDateTime64BestEffort('${Y.toISOString()}')`}function p_1(Y){return`parseDateTime64BestEffort(toString(timestamp)) <= parseDateTime64BestEffort('${Y.toISOString()}')`}class n_1{engine;source;constructor(Y,X){this.engine=Y;this.source=X}async query(Y){if(!Y.organizationId)throw Error("organizationId is required");let X=[`organization_id = '${XJ(Y.organizationId)}'`];if(Y.connectionId)X.push(`connection_id = '${XJ(Y.connectionId)}'`);if(Y.excludeConnectionIds?.length){let $=Y.excludeConnectionIds.map((F)=>`'${XJ(F)}'`).join(",");X.push(`connection_id NOT IN (${$})`)}if(Y.virtualMcpId)X.push(`virtual_mcp_id = '${XJ(Y.virtualMcpId)}'`);if(Y.toolName)X.push(`tool_name = '${XJ(Y.toolName)}'`);if(Y.isError!==void 0)X.push(`is_error = ${Y.isError?1:0}`);if(Y.startDate)X.push(c_1(Y.startDate));if(Y.endDate)X.push(p_1(Y.endDate));if(Y.propertyFilters)X.push(...SZ6(Y.propertyFilters));let J=1000,G=Math.min(Math.max(1,Math.floor(Y.limit??50)),J),W=Math.max(0,Math.floor(Y.offset??0)),Z=`SELECT *, count(*) OVER () AS _total FROM ${this.source} WHERE ${X.join(" AND ")} ORDER BY timestamp DESC LIMIT ${G} OFFSET ${W}`,K=await this.engine.query(Z);if(K.length===0)return{logs:[],total:0};let Q=Number(K[0]._total??0);return{logs:K.map($J8),total:Q}}async getStats(Y){if(!Y.organizationId)throw Error("organizationId is required");let X=[`organization_id = '${XJ(Y.organizationId)}'`];if(Y.startDate)X.push(c_1(Y.startDate));if(Y.endDate)X.push(p_1(Y.endDate));let J=`SELECT count(*) AS total_calls, coalesce(sum(CASE WHEN is_error = 1 THEN 1.0 ELSE 0.0 END) / NULLIF(count(*), 0), 0) AS error_rate, coalesce(avg(duration_ms), 0) AS avg_duration_ms FROM ${this.source} WHERE ${X.join(" AND ")}`,W=(await this.engine.query(J))[0]??{};return{totalCalls:Number(W.total_calls??0),errorRate:Number(W.error_rate??0),avgDurationMs:Number(W.avg_duration_ms??0)}}async aggregate(Y){if(!Y.organizationId)throw Error("organizationId is required");let X=m_1(Y.path),J=Y.from==="input"?"input":"output",G=l_1(X),W=Y.aggregation==="count"||Y.aggregation==="count_all"?"1":`JSONExtractFloat(${J}, ${G})`,Z=FJ8(Y.aggregation,W),K=[`organization_id = '${XJ(Y.organizationId)}'`];if(Y.aggregation==="count")K.push(`JSONExtractString(${J}, ${G}) IS NOT NULL`),K.push(`JSONExtractString(${J}, ${G}) != ''`);if(Y.aggregation!=="count"&&Y.aggregation!=="count_all")K.push(`JSONExtractString(${J}, ${G}) IS NOT NULL`),K.push(`JSONExtractString(${J}, ${G}) != ''`);K.push(...IZ6(Y.filters));let Q=K.join(" AND "),H=Math.min(Math.max(1,Math.floor(Y.limit??1e4)),1e4);if(Y.groupByColumn){let V=GJ8(Y.groupByColumn),z=`SELECT ${V} AS group_key, ${Z} AS value FROM ${this.source} WHERE ${Q} GROUP BY ${V} ORDER BY value DESC LIMIT ${H}`;return{value:null,groups:(await this.engine.query(z)).map((q)=>({key:String(q.group_key??""),value:Number(q.value??0)}))}}if(Y.groupBy){let V=m_1(Y.groupBy),z=Y.from==="input"?"input":"output",U=l_1(V),q=`JSONExtractString(${z}, ${U})`,D=`SELECT ${q} AS group_key, ${Z} AS value FROM ${this.source} WHERE ${Q} AND ${q} != '' GROUP BY ${q} ORDER BY value DESC LIMIT ${H}`;return{value:null,groups:(await this.engine.query(D)).map((w)=>({key:String(w.group_key??""),value:Number(w.value??0)}))}}if(Y.interval){let z=`SELECT ${HJ8(Y.interval)} AS bucket, ${Z} AS value FROM ${this.source} WHERE ${Q} GROUP BY bucket ORDER BY bucket ASC LIMIT ${H}`;return{value:null,timeseries:(await this.engine.query(z)).map((q)=>({timestamp:String(q.bucket??""),value:Number(q.value??0)}))}}let $=`SELECT ${Z} AS value FROM ${this.source} WHERE ${Q}`,F=await this.engine.query($);return{value:Number(F[0]?.value??0)}}async countMatched(Y){if(!Y.organizationId)throw Error("organizationId is required");let X=m_1(Y.path),J=Y.from==="input"?"input":"output",G=l_1(X),W=[`organization_id = '${XJ(Y.organizationId)}'`,`JSONExtractString(${J}, ${G}) IS NOT NULL`,`JSONExtractString(${J}, ${G}) != ''`];W.push(...IZ6(Y.filters));let Z=`SELECT count(*) AS cnt FROM ${this.source} WHERE ${W.join(" AND ")}`,K=await this.engine.query(Z);return Number(K[0]?.cnt??0)}}function FJ8(Y,X){switch(Y){case"sum":return`coalesce(sum(${X}), 0)`;case"avg":return`coalesce(avg(${X}), 0)`;case"min":return`min(${X})`;case"max":return`max(${X})`;case"count":return"count(*)";case"count_all":return"count(*)";case"last":return`argMax(${X}, timestamp)`;default:throw Error(`Unknown aggregation function: ${Y}`)}}fV();import{resolve as BW8}from"path";class _K6{chdb;constructor(){try{this.chdb=vZ6()}catch(Y){throw Error("chdb native module not available. Install with: bun add chdb",{cause:Y})}}async query(Y){let X=this.chdb.query(Y,"JSONEachRow");if(!X||!X.trim())return[];return X.trim().split(`
|
|
1848
|
+
`}}uQ.Metric=gO;class hF6{constructor(Y,X={msgs:1e5,size:128,subject:"",asyncRequests:!1,pub:!1,sub:!1,req:!1,rep:!1}){if(this.nc=Y,this.callbacks=X.callbacks||!1,this.msgs=X.msgs||0,this.size=X.size||0,this.subject=X.subject||M$8.nuid.next(),this.asyncRequests=X.asyncRequests||!1,this.pub=X.pub||!1,this.sub=X.sub||!1,this.req=X.req||!1,this.rep=X.rep||!1,this.perf=new Qy1.Perf,this.payload=this.size?new Uint8Array(this.size):N$8.Empty,!this.pub&&!this.sub&&!this.req&&!this.rep)throw Error("no bench option selected")}run(){return Zq(this,void 0,void 0,function*(){if(this.nc.closed().then((Y)=>{if(Y)throw new bF6.NatsError(`bench closed with an error: ${Y.message}`,bF6.ErrorCode.Unknown,Y)}),this.callbacks)yield this.runCallbacks();else yield this.runAsync();return this.processMetrics()})}processMetrics(){let Y=this.nc,{lang:X,version:J}=Y.protocol.transport;if(this.pub&&this.sub)this.perf.measure("pubsub","pubStart","subStop");if(this.req&&this.rep)this.perf.measure("reqrep","reqStart","reqStop");let G=this.perf.getEntries(),W=G.find((z)=>z.name==="pubsub"),Z=G.find((z)=>z.name==="reqrep"),K=G.find((z)=>z.name==="req"),Q=G.find((z)=>z.name==="rep"),H=G.find((z)=>z.name==="pub"),$=G.find((z)=>z.name==="sub"),F=this.nc.stats(),V=[];if(W){let{name:z,duration:U}=W,q=new gO(z,U);q.msgs=this.msgs*2,q.bytes=F.inBytes+F.outBytes,q.lang=X,q.version=J,q.payload=this.payload.length,V.push(q)}if(Z){let{name:z,duration:U}=Z,q=new gO(z,U);q.msgs=this.msgs*2,q.bytes=F.inBytes+F.outBytes,q.lang=X,q.version=J,q.payload=this.payload.length,V.push(q)}if(H){let{name:z,duration:U}=H,q=new gO(z,U);q.msgs=this.msgs,q.bytes=F.outBytes,q.lang=X,q.version=J,q.payload=this.payload.length,V.push(q)}if($){let{name:z,duration:U}=$,q=new gO(z,U);q.msgs=this.msgs,q.bytes=F.inBytes,q.lang=X,q.version=J,q.payload=this.payload.length,V.push(q)}if(Q){let{name:z,duration:U}=Q,q=new gO(z,U);q.msgs=this.msgs,q.bytes=F.inBytes+F.outBytes,q.lang=X,q.version=J,q.payload=this.payload.length,V.push(q)}if(K){let{name:z,duration:U}=K,q=new gO(z,U);q.msgs=this.msgs,q.bytes=F.inBytes+F.outBytes,q.lang=X,q.version=J,q.payload=this.payload.length,V.push(q)}return V}runCallbacks(){return Zq(this,void 0,void 0,function*(){let Y=[];if(this.sub){let X=(0,Qy1.deferred)();Y.push(X);let J=0;this.nc.subscribe(this.subject,{max:this.msgs,callback:()=>{if(J++,J===1)this.perf.mark("subStart");if(J===this.msgs)this.perf.mark("subStop"),this.perf.measure("sub","subStart","subStop"),X.resolve()}})}if(this.rep){let X=(0,Qy1.deferred)();Y.push(X);let J=0;this.nc.subscribe(this.subject,{max:this.msgs,callback:(G,W)=>{if(W.respond(this.payload),J++,J===1)this.perf.mark("repStart");if(J===this.msgs)this.perf.mark("repStop"),this.perf.measure("rep","repStart","repStop"),X.resolve()}})}if(this.pub){let X=(()=>Zq(this,void 0,void 0,function*(){this.perf.mark("pubStart");for(let J=0;J<this.msgs;J++)this.nc.publish(this.subject,this.payload);yield this.nc.flush(),this.perf.mark("pubStop"),this.perf.measure("pub","pubStart","pubStop")}))();Y.push(X)}if(this.req){let X=(()=>Zq(this,void 0,void 0,function*(){if(this.asyncRequests){this.perf.mark("reqStart");let J=[];for(let G=0;G<this.msgs;G++)J.push(this.nc.request(this.subject,this.payload,{timeout:20000}));yield Promise.all(J),this.perf.mark("reqStop"),this.perf.measure("req","reqStart","reqStop")}else{this.perf.mark("reqStart");for(let J=0;J<this.msgs;J++)yield this.nc.request(this.subject);this.perf.mark("reqStop"),this.perf.measure("req","reqStart","reqStop")}}))();Y.push(X)}yield Promise.all(Y)})}runAsync(){return Zq(this,void 0,void 0,function*(){let Y=[];if(this.rep){let X=!1,J=this.nc.subscribe(this.subject,{max:this.msgs}),G=(()=>Zq(this,void 0,void 0,function*(){var W,Z,K,Q;try{for(var H=!0,$=yF6(J),F;F=yield $.next(),W=F.done,!W;H=!0){Q=F.value,H=!1;let V=Q;if(!X)this.perf.mark("repStart"),X=!0;V.respond(this.payload)}}catch(V){Z={error:V}}finally{try{if(!H&&!W&&(K=$.return))yield K.call($)}finally{if(Z)throw Z.error}}yield this.nc.flush(),this.perf.mark("repStop"),this.perf.measure("rep","repStart","repStop")}))();Y.push(G)}if(this.sub){let X=!1,J=this.nc.subscribe(this.subject,{max:this.msgs}),G=(()=>Zq(this,void 0,void 0,function*(){var W,Z,K,Q;try{for(var H=!0,$=yF6(J),F;F=yield $.next(),W=F.done,!W;H=!0){Q=F.value,H=!1;let V=Q;if(!X)this.perf.mark("subStart"),X=!0}}catch(V){Z={error:V}}finally{try{if(!H&&!W&&(K=$.return))yield K.call($)}finally{if(Z)throw Z.error}}this.perf.mark("subStop"),this.perf.measure("sub","subStart","subStop")}))();Y.push(G)}if(this.pub){let X=(()=>Zq(this,void 0,void 0,function*(){this.perf.mark("pubStart");for(let J=0;J<this.msgs;J++)this.nc.publish(this.subject,this.payload);yield this.nc.flush(),this.perf.mark("pubStop"),this.perf.measure("pub","pubStart","pubStop")}))();Y.push(X)}if(this.req){let X=(()=>Zq(this,void 0,void 0,function*(){if(this.asyncRequests){this.perf.mark("reqStart");let J=[];for(let G=0;G<this.msgs;G++)J.push(this.nc.request(this.subject,this.payload,{timeout:20000}));yield Promise.all(J),this.perf.mark("reqStop"),this.perf.measure("req","reqStart","reqStop")}else{this.perf.mark("reqStart");for(let J=0;J<this.msgs;J++)yield this.nc.request(this.subject);this.perf.mark("reqStop"),this.perf.measure("req","reqStart","reqStop")}}))();Y.push(X)}yield Promise.all(Y)})}}uQ.Bench=hF6;function xF6(Y,X){return`${gF6(Y/X)}/sec`}function w$8(Y,X){return`${Math.floor(Y/X)} msgs/sec`}function gF6(Y,X=!1){let J=X?1000:1024,G=X?["k","M","G","T","P","E"]:["K","M","G","T","P","E"],W=X?"iB":"B";if(Y<J)return`${Y.toFixed(2)} ${W}`;let Z=parseInt(Math.log(Y)/Math.log(J)+""),K=parseInt(Z-1+"");return`${(Y/Math.pow(J,Z)).toFixed(2)} ${G[K]}${W}`}function A$8(Y){return Y.toString().replace(/\B(?=(\d{3})+(?!\d))/g,",")}});var If1=n((u0)=>{var P$8=u0&&u0.__createBinding||(Object.create?function(Y,X,J,G){if(G===void 0)G=J;var W=Object.getOwnPropertyDescriptor(X,J);if(!W||("get"in W?!X.__esModule:W.writable||W.configurable))W={enumerable:!0,get:function(){return X[J]}};Object.defineProperty(Y,G,W)}:function(Y,X,J,G){if(G===void 0)G=J;Y[G]=X[J]}),E$8=u0&&u0.__exportStar||function(Y,X){for(var J in Y)if(J!=="default"&&!Object.prototype.hasOwnProperty.call(X,J))P$8(X,Y,J)};Object.defineProperty(u0,"__esModule",{value:!0});u0.parseIP=u0.isIP=u0.TE=u0.TD=u0.Metric=u0.Bench=u0.writeAll=u0.readAll=u0.MAX_SIZE=u0.DenoBuffer=u0.State=u0.Parser=u0.Kind=u0.QueuedIteratorImpl=u0.StringCodec=u0.JSONCodec=u0.usernamePasswordAuthenticator=u0.tokenAuthenticator=u0.nkeyAuthenticator=u0.jwtAuthenticator=u0.credsAuthenticator=u0.RequestOne=u0.checkUnsupportedOption=u0.checkOptions=u0.buildAuthenticator=u0.DataBuffer=u0.MuxSubscription=u0.Heartbeat=u0.MsgHdrsImpl=u0.headers=u0.canonicalMIMEHeaderKey=u0.timeout=u0.render=u0.nanos=u0.millis=u0.extend=u0.delay=u0.deferred=u0.deadline=u0.collect=u0.backoff=u0.ProtocolHandler=u0.INFO=u0.Connect=u0.setTransportFactory=u0.getResolveFn=u0.MsgImpl=u0.nuid=u0.Nuid=u0.NatsConnectionImpl=void 0;u0.Subscriptions=u0.SubscriptionImpl=u0.syncIterator=u0.ServiceVerb=u0.ServiceResponseType=u0.ServiceErrorHeader=u0.ServiceErrorCodeHeader=u0.ServiceError=u0.RequestStrategy=u0.NatsError=u0.Match=u0.isNatsError=u0.Events=u0.ErrorCode=u0.DebugEvents=u0.createInbox=u0.extractProtocolMessage=u0.Empty=u0.parseSemVer=u0.compare=u0.NoopKvCodecs=u0.defaultBucketOpts=u0.Bucket=u0.Base64KeyCodec=u0.TypedSubscription=void 0;var R$8=fF6();Object.defineProperty(u0,"NatsConnectionImpl",{enumerable:!0,get:function(){return R$8.NatsConnectionImpl}});var mF6=WV();Object.defineProperty(u0,"Nuid",{enumerable:!0,get:function(){return mF6.Nuid}});Object.defineProperty(u0,"nuid",{enumerable:!0,get:function(){return mF6.nuid}});var T$8=UI();Object.defineProperty(u0,"MsgImpl",{enumerable:!0,get:function(){return T$8.MsgImpl}});var lF6=FI();Object.defineProperty(u0,"getResolveFn",{enumerable:!0,get:function(){return lF6.getResolveFn}});Object.defineProperty(u0,"setTransportFactory",{enumerable:!0,get:function(){return lF6.setTransportFactory}});var Ky1=xY1();Object.defineProperty(u0,"Connect",{enumerable:!0,get:function(){return Ky1.Connect}});Object.defineProperty(u0,"INFO",{enumerable:!0,get:function(){return Ky1.INFO}});Object.defineProperty(u0,"ProtocolHandler",{enumerable:!0,get:function(){return Ky1.ProtocolHandler}});var qV=w5();Object.defineProperty(u0,"backoff",{enumerable:!0,get:function(){return qV.backoff}});Object.defineProperty(u0,"collect",{enumerable:!0,get:function(){return qV.collect}});Object.defineProperty(u0,"deadline",{enumerable:!0,get:function(){return qV.deadline}});Object.defineProperty(u0,"deferred",{enumerable:!0,get:function(){return qV.deferred}});Object.defineProperty(u0,"delay",{enumerable:!0,get:function(){return qV.delay}});Object.defineProperty(u0,"extend",{enumerable:!0,get:function(){return qV.extend}});Object.defineProperty(u0,"millis",{enumerable:!0,get:function(){return qV.millis}});Object.defineProperty(u0,"nanos",{enumerable:!0,get:function(){return qV.nanos}});Object.defineProperty(u0,"render",{enumerable:!0,get:function(){return qV.render}});Object.defineProperty(u0,"timeout",{enumerable:!0,get:function(){return qV.timeout}});var Hy1=tU();Object.defineProperty(u0,"canonicalMIMEHeaderKey",{enumerable:!0,get:function(){return Hy1.canonicalMIMEHeaderKey}});Object.defineProperty(u0,"headers",{enumerable:!0,get:function(){return Hy1.headers}});Object.defineProperty(u0,"MsgHdrsImpl",{enumerable:!0,get:function(){return Hy1.MsgHdrsImpl}});var C$8=ov1();Object.defineProperty(u0,"Heartbeat",{enumerable:!0,get:function(){return C$8.Heartbeat}});var j$8=rv1();Object.defineProperty(u0,"MuxSubscription",{enumerable:!0,get:function(){return j$8.MuxSubscription}});var I$8=$I();Object.defineProperty(u0,"DataBuffer",{enumerable:!0,get:function(){return I$8.DataBuffer}});var $y1=bY1();Object.defineProperty(u0,"buildAuthenticator",{enumerable:!0,get:function(){return $y1.buildAuthenticator}});Object.defineProperty(u0,"checkOptions",{enumerable:!0,get:function(){return $y1.checkOptions}});Object.defineProperty(u0,"checkUnsupportedOption",{enumerable:!0,get:function(){return $y1.checkUnsupportedOption}});var S$8=mY1();Object.defineProperty(u0,"RequestOne",{enumerable:!0,get:function(){return S$8.RequestOne}});var Fm=zf1();Object.defineProperty(u0,"credsAuthenticator",{enumerable:!0,get:function(){return Fm.credsAuthenticator}});Object.defineProperty(u0,"jwtAuthenticator",{enumerable:!0,get:function(){return Fm.jwtAuthenticator}});Object.defineProperty(u0,"nkeyAuthenticator",{enumerable:!0,get:function(){return Fm.nkeyAuthenticator}});Object.defineProperty(u0,"tokenAuthenticator",{enumerable:!0,get:function(){return Fm.tokenAuthenticator}});Object.defineProperty(u0,"usernamePasswordAuthenticator",{enumerable:!0,get:function(){return Fm.usernamePasswordAuthenticator}});var dF6=QV();Object.defineProperty(u0,"JSONCodec",{enumerable:!0,get:function(){return dF6.JSONCodec}});Object.defineProperty(u0,"StringCodec",{enumerable:!0,get:function(){return dF6.StringCodec}});E$8(Ff1(),u0);var k$8=sK();Object.defineProperty(u0,"QueuedIteratorImpl",{enumerable:!0,get:function(){return k$8.QueuedIteratorImpl}});var Fy1=Jf1();Object.defineProperty(u0,"Kind",{enumerable:!0,get:function(){return Fy1.Kind}});Object.defineProperty(u0,"Parser",{enumerable:!0,get:function(){return Fy1.Parser}});Object.defineProperty(u0,"State",{enumerable:!0,get:function(){return Fy1.State}});var BX1=ev1();Object.defineProperty(u0,"DenoBuffer",{enumerable:!0,get:function(){return BX1.DenoBuffer}});Object.defineProperty(u0,"MAX_SIZE",{enumerable:!0,get:function(){return BX1.MAX_SIZE}});Object.defineProperty(u0,"readAll",{enumerable:!0,get:function(){return BX1.readAll}});Object.defineProperty(u0,"writeAll",{enumerable:!0,get:function(){return BX1.writeAll}});var cF6=uF6();Object.defineProperty(u0,"Bench",{enumerable:!0,get:function(){return cF6.Bench}});Object.defineProperty(u0,"Metric",{enumerable:!0,get:function(){return cF6.Metric}});var pF6=M5();Object.defineProperty(u0,"TD",{enumerable:!0,get:function(){return pF6.TD}});Object.defineProperty(u0,"TE",{enumerable:!0,get:function(){return pF6.TE}});var nF6=lv1();Object.defineProperty(u0,"isIP",{enumerable:!0,get:function(){return nF6.isIP}});Object.defineProperty(u0,"parseIP",{enumerable:!0,get:function(){return nF6.parseIP}});var _$8=vf1();Object.defineProperty(u0,"TypedSubscription",{enumerable:!0,get:function(){return _$8.TypedSubscription}});var DX1=Gm();Object.defineProperty(u0,"Base64KeyCodec",{enumerable:!0,get:function(){return DX1.Base64KeyCodec}});Object.defineProperty(u0,"Bucket",{enumerable:!0,get:function(){return DX1.Bucket}});Object.defineProperty(u0,"defaultBucketOpts",{enumerable:!0,get:function(){return DX1.defaultBucketOpts}});Object.defineProperty(u0,"NoopKvCodecs",{enumerable:!0,get:function(){return DX1.NoopKvCodecs}});var iF6=eU();Object.defineProperty(u0,"compare",{enumerable:!0,get:function(){return iF6.compare}});Object.defineProperty(u0,"parseSemVer",{enumerable:!0,get:function(){return iF6.parseSemVer}});var v$8=NI();Object.defineProperty(u0,"Empty",{enumerable:!0,get:function(){return v$8.Empty}});var f$8=FI();Object.defineProperty(u0,"extractProtocolMessage",{enumerable:!0,get:function(){return f$8.extractProtocolMessage}});var SZ=MY();Object.defineProperty(u0,"createInbox",{enumerable:!0,get:function(){return SZ.createInbox}});Object.defineProperty(u0,"DebugEvents",{enumerable:!0,get:function(){return SZ.DebugEvents}});Object.defineProperty(u0,"ErrorCode",{enumerable:!0,get:function(){return SZ.ErrorCode}});Object.defineProperty(u0,"Events",{enumerable:!0,get:function(){return SZ.Events}});Object.defineProperty(u0,"isNatsError",{enumerable:!0,get:function(){return SZ.isNatsError}});Object.defineProperty(u0,"Match",{enumerable:!0,get:function(){return SZ.Match}});Object.defineProperty(u0,"NatsError",{enumerable:!0,get:function(){return SZ.NatsError}});Object.defineProperty(u0,"RequestStrategy",{enumerable:!0,get:function(){return SZ.RequestStrategy}});Object.defineProperty(u0,"ServiceError",{enumerable:!0,get:function(){return SZ.ServiceError}});Object.defineProperty(u0,"ServiceErrorCodeHeader",{enumerable:!0,get:function(){return SZ.ServiceErrorCodeHeader}});Object.defineProperty(u0,"ServiceErrorHeader",{enumerable:!0,get:function(){return SZ.ServiceErrorHeader}});Object.defineProperty(u0,"ServiceResponseType",{enumerable:!0,get:function(){return SZ.ServiceResponseType}});Object.defineProperty(u0,"ServiceVerb",{enumerable:!0,get:function(){return SZ.ServiceVerb}});Object.defineProperty(u0,"syncIterator",{enumerable:!0,get:function(){return SZ.syncIterator}});var aF6=xY1();Object.defineProperty(u0,"SubscriptionImpl",{enumerable:!0,get:function(){return aF6.SubscriptionImpl}});Object.defineProperty(u0,"Subscriptions",{enumerable:!0,get:function(){return aF6.Subscriptions}})});var OX1=n((A5)=>{Object.defineProperty(A5,"__esModule",{value:!0});A5.ConsumerEvents=A5.ConsumerDebugEvents=A5.StoreCompression=A5.StorageType=A5.RetentionPolicy=A5.ReplayPolicy=A5.DiscardPolicy=A5.DeliverPolicy=A5.AckPolicy=A5.RepublishHeaders=A5.KvWatchInclude=A5.JsHeaders=A5.isConsumerOptsBuilder=A5.DirectMsgHeaders=A5.consumerOpts=A5.AdvisoryKind=A5.isHeartbeatMsg=A5.isFlowControlMsg=A5.checkJsError=void 0;var Vy1=$V();Object.defineProperty(A5,"checkJsError",{enumerable:!0,get:function(){return Vy1.checkJsError}});Object.defineProperty(A5,"isFlowControlMsg",{enumerable:!0,get:function(){return Vy1.isFlowControlMsg}});Object.defineProperty(A5,"isHeartbeatMsg",{enumerable:!0,get:function(){return Vy1.isHeartbeatMsg}});var uA=Xq();Object.defineProperty(A5,"AdvisoryKind",{enumerable:!0,get:function(){return uA.AdvisoryKind}});Object.defineProperty(A5,"consumerOpts",{enumerable:!0,get:function(){return uA.consumerOpts}});Object.defineProperty(A5,"DirectMsgHeaders",{enumerable:!0,get:function(){return uA.DirectMsgHeaders}});Object.defineProperty(A5,"isConsumerOptsBuilder",{enumerable:!0,get:function(){return uA.isConsumerOptsBuilder}});Object.defineProperty(A5,"JsHeaders",{enumerable:!0,get:function(){return uA.JsHeaders}});Object.defineProperty(A5,"KvWatchInclude",{enumerable:!0,get:function(){return uA.KvWatchInclude}});Object.defineProperty(A5,"RepublishHeaders",{enumerable:!0,get:function(){return uA.RepublishHeaders}});var mA=vO();Object.defineProperty(A5,"AckPolicy",{enumerable:!0,get:function(){return mA.AckPolicy}});Object.defineProperty(A5,"DeliverPolicy",{enumerable:!0,get:function(){return mA.DeliverPolicy}});Object.defineProperty(A5,"DiscardPolicy",{enumerable:!0,get:function(){return mA.DiscardPolicy}});Object.defineProperty(A5,"ReplayPolicy",{enumerable:!0,get:function(){return mA.ReplayPolicy}});Object.defineProperty(A5,"RetentionPolicy",{enumerable:!0,get:function(){return mA.RetentionPolicy}});Object.defineProperty(A5,"StorageType",{enumerable:!0,get:function(){return mA.StorageType}});Object.defineProperty(A5,"StoreCompression",{enumerable:!0,get:function(){return mA.StoreCompression}});var rF6=rf1();Object.defineProperty(A5,"ConsumerDebugEvents",{enumerable:!0,get:function(){return rF6.ConsumerDebugEvents}});Object.defineProperty(A5,"ConsumerEvents",{enumerable:!0,get:function(){return rF6.ConsumerEvents}})});var zy1=n((uO)=>{var b$8=uO&&uO.__createBinding||(Object.create?function(Y,X,J,G){if(G===void 0)G=J;var W=Object.getOwnPropertyDescriptor(X,J);if(!W||("get"in W?!X.__esModule:W.writable||W.configurable))W={enumerable:!0,get:function(){return X[J]}};Object.defineProperty(Y,G,W)}:function(Y,X,J,G){if(G===void 0)G=J;Y[G]=X[J]}),oF6=uO&&uO.__exportStar||function(Y,X){for(var J in Y)if(J!=="default"&&!Object.prototype.hasOwnProperty.call(X,J))b$8(X,Y,J)};Object.defineProperty(uO,"__esModule",{value:!0});oF6(If1(),uO);oF6(OX1(),uO)});var YV6=n((t3)=>{var jI=t3&&t3.__awaiter||function(Y,X,J,G){function W(Z){return Z instanceof J?Z:new J(function(K){K(Z)})}return new(J||(J=Promise))(function(Z,K){function Q(F){try{$(G.next(F))}catch(V){K(V)}}function H(F){try{$(G.throw(F))}catch(V){K(V)}}function $(F){F.done?Z(F.value):W(F.value).then(Q,H)}$((G=G.apply(Y,X||[])).next())})},Vm=t3&&t3.__await||function(Y){return this instanceof Vm?(this.v=Y,this):new Vm(Y)},h$8=t3&&t3.__asyncGenerator||function(Y,X,J){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var G=J.apply(Y,X||[]),W,Z=[];return W=Object.create((typeof AsyncIterator==="function"?AsyncIterator:Object).prototype),Q("next"),Q("throw"),Q("return",K),W[Symbol.asyncIterator]=function(){return this},W;function K(U){return function(q){return Promise.resolve(q).then(U,V)}}function Q(U,q){if(G[U]){if(W[U]=function(D){return new Promise(function(L,w){Z.push([U,D,L,w])>1||H(U,D)})},q)W[U]=q(W[U])}}function H(U,q){try{$(G[U](q))}catch(D){z(Z[0][3],D)}}function $(U){U.value instanceof Vm?Promise.resolve(U.value.v).then(F,V):z(Z[0][2],U)}function F(U){H("next",U)}function V(U){H("throw",U)}function z(U,q){if(U(q),Z.shift(),Z.length)H(Z[0][0],Z[0][1])}};Object.defineProperty(t3,"__esModule",{value:!0});t3.NodeTransport=void 0;t3.nodeResolveHost=c$8;var S9=zy1(),x$8=U0("net"),sF6=w5(),Uy1=U0("tls"),{resolve:g$8}=U0("path"),{readFile:u$8,existsSync:m$8}=U0("fs"),tF6=U0("dns"),l$8="2.29.3",d$8="nats.js";class eF6{constructor(){this.yields=[],this.signal=(0,S9.deferred)(),this.closedNotification=(0,S9.deferred)(),this.connected=!1,this.tlsName="",this.done=!1,this.lang=d$8,this.version=l$8}connect(Y,X){return jI(this,void 0,void 0,function*(){this.tlsName=Y.tlsName,this.options=X;let{tls:J}=this.options,{handshakeFirst:G}=J||{};try{if(G===!0)this.socket=yield this.tlsFirst(Y);else this.socket=yield this.dial(Y);let W=yield this.peekInfo();(0,S9.checkOptions)(W,X);let{tls_required:Z,tls_available:K}=W,Q=K===!0&&X.tls!==null;if(!G&&(Z||Q))this.socket=yield this.startTLS();if(Z&&this.socket.encrypted!==!0)throw new S9.NatsError("tls",S9.ErrorCode.ServerOptionNotAvailable);return this.connected=!0,this.setupHandlers(),this.signal.resolve(),Promise.resolve()}catch(W){if(!W)W=S9.NatsError.errorForCode(S9.ErrorCode.ConnectionRefused,Error("node provided an undefined error!"));let{code:Z}=W,K=Z==="ECONNREFUSED"?S9.NatsError.errorForCode(S9.ErrorCode.ConnectionRefused,W):W;if(this.socket)this.socket.destroy();throw K}})}dial(Y){let X=(0,S9.deferred)(),J,G=(0,x$8.createConnection)(Y.port,Y.hostname,()=>{X.resolve(G),G.removeAllListeners()});return G.on("error",(W)=>{J=W}),G.on("close",()=>{G.removeAllListeners(),X.reject(J)}),G.setNoDelay(!0),X}get isClosed(){return this.done}close(Y){return this._closed(Y,!1)}peekInfo(){let Y=(0,S9.deferred)(),X;return this.socket.on("data",(J)=>{this.yields.push(J);let G=S9.DataBuffer.concat(...this.yields),W=(0,S9.extractProtocolMessage)(G);if(W!=="")try{let Z=S9.INFO.exec(W);if(!Z)throw Error("unexpected response from server");let K=JSON.parse(Z[1]);Y.resolve(K)}catch(Z){Y.reject(Z)}finally{this.socket.removeAllListeners()}}),this.socket.on("error",(J)=>{X=J}),this.socket.on("close",()=>{this.socket.removeAllListeners(),Y.reject(X)}),Y}loadFile(Y){if(!Y)return Promise.resolve();let X=(0,S9.deferred)();try{if(Y=g$8(Y),!m$8(Y))X.reject(Error(`${Y} doesn't exist`));u$8(Y,(J,G)=>{if(J)return X.reject(J);X.resolve(G)})}catch(J){X.reject(J)}return X}loadClientCerts(){return jI(this,void 0,void 0,function*(){let Y={},{certFile:X,cert:J,caFile:G,ca:W,keyFile:Z,key:K}=this.options.tls;try{if(X){let Q=yield this.loadFile(X);if(Q)Y.cert=Q}else if(J)Y.cert=J;if(Z){let Q=yield this.loadFile(Z);if(Q)Y.key=Q}else if(K)Y.key=K;if(G){let Q=yield this.loadFile(G);if(Q)Y.ca=[Q]}else if(W)Y.ca=W;return Promise.resolve(Y)}catch(Q){return Promise.reject(Q)}})}tlsFirst(Y){return jI(this,void 0,void 0,function*(){let X,J={servername:this.tlsName,rejectUnauthorized:!0};if(this.socket)J.socket=this.socket;if(typeof this.options.tls==="object")try{let W=(yield this.loadClientCerts())||{};J=(0,sF6.extend)(J,this.options.tls,W)}catch(W){return Promise.reject(new S9.NatsError(W.message,S9.ErrorCode.Tls,W))}let G=(0,S9.deferred)();try{let W=(0,Uy1.connect)(Y.port,Y.hostname,J,()=>{W.removeAllListeners(),G.resolve(W)});W.on("error",(Z)=>{X=Z}),W.on("secureConnect",()=>{if(J.rejectUnauthorized===!1)return;if(!W.authorized)throw W.authorizationError}),W.on("close",()=>{G.reject(X),W.removeAllListeners()}),W.setNoDelay(!0)}catch(W){G.reject(S9.NatsError.errorForCode(S9.ErrorCode.Tls,W))}return G})}startTLS(){return jI(this,void 0,void 0,function*(){let Y,X={socket:this.socket,servername:this.tlsName,rejectUnauthorized:!0};if(typeof this.options.tls==="object")try{let G=(yield this.loadClientCerts())||{};X=(0,sF6.extend)(X,this.options.tls,G)}catch(G){return Promise.reject(new S9.NatsError(G.message,S9.ErrorCode.Tls,G))}let J=(0,S9.deferred)();try{let G=(0,Uy1.connect)(X,()=>{G.removeAllListeners(),J.resolve(G)});G.on("error",(W)=>{Y=W}),G.on("secureConnect",()=>{if(X.rejectUnauthorized===!1)return;if(!G.authorized)throw G.authorizationError}),G.on("close",()=>{J.reject(Y),G.removeAllListeners()})}catch(G){J.reject(S9.NatsError.errorForCode(S9.ErrorCode.Tls,G))}return J})}setupHandlers(){let Y;this.socket.on("data",(X)=>{return this.yields.push(X),this.signal.resolve()}),this.socket.on("error",(X)=>{Y=X}),this.socket.on("end",()=>{var X,J;if((X=this.socket)===null||X===void 0?void 0:X.destroyed)return;(J=this.socket)===null||J===void 0||J.write(new Uint8Array(0),()=>{var G;(G=this.socket)===null||G===void 0||G.end()})}),this.socket.on("close",()=>{this._closed(Y,!1)})}[Symbol.asyncIterator](){return this.iterate()}iterate(){return h$8(this,arguments,function*(){let X=this.options.debug;while(!0){if(this.yields.length===0)yield Vm(this.signal);let J=this.yields;this.yields=[];for(let G=0;G<J.length;G++){if(X)console.info(`> ${(0,S9.render)(J[G])}`);yield yield Vm(J[G])}if(this.done)break;else if(this.yields.length===0)J.length=0,this.yields=J,this.signal=(0,S9.deferred)()}})}discard(){}disconnect(){this._closed(void 0,!0).then().catch()}isEncrypted(){return this.socket instanceof Uy1.TLSSocket}_send(Y){if(this.isClosed||this.socket===void 0)return Promise.resolve();if(this.options.debug)console.info(`< ${(0,S9.render)(Y)}`);let X=(0,S9.deferred)();try{this.socket.write(Y,(J)=>{if(J){if(this.options.debug)console.error(`!!! ${(0,S9.render)(Y)}: ${J}`);return X.reject(J)}return X.resolve()})}catch(J){if(this.options.debug)console.error(`!!! ${(0,S9.render)(Y)}: ${J}`);X.reject(J)}return X}send(Y){this._send(Y).catch((J)=>{})}_closed(Y){return jI(this,arguments,void 0,function*(X,J=!0){if(!this.connected)return;if(this.done)return;if(this.closeError=X,!X&&this.socket&&J)try{yield this._send(new TextEncoder().encode(""))}catch(G){if(this.options.debug)console.log("transport close terminated with an error",G)}try{if(this.socket)this.socket.removeAllListeners(),this.socket.destroy(),this.socket=void 0}catch(G){console.log(G)}this.done=!0,this.closedNotification.resolve(this.closeError)})}closed(){return this.closedNotification}}t3.NodeTransport=eF6;function c$8(Y){return jI(this,void 0,void 0,function*(){let X=(0,S9.deferred)(),J=(0,S9.deferred)();tF6.resolve4(Y,(K,Q)=>{if(K)X.resolve(K);else X.resolve(Q)}),tF6.resolve6(Y,(K,Q)=>{if(K)J.resolve(K);else J.resolve(Q)});let G=[],W=yield X;if(Array.isArray(W))G.push(...W);let Z=yield J;if(Array.isArray(Z))G.push(...Z);if(G.length===0)G.push(Y);return G})}});var WV6=n((GV6)=>{Object.defineProperty(GV6,"__esModule",{value:!0});GV6.connect=p$8;var XV6=YV6(),JV6=zy1();function p$8(Y={}){return(0,JV6.setTransportFactory)({factory:()=>{return new XV6.NodeTransport},dnsResolveFn:XV6.nodeResolveHost}),JV6.NatsConnectionImpl.connect(Y)}});var ZV6=n((x5)=>{Object.defineProperty(x5,"__esModule",{value:!0});x5.consumerOpts=x5.StoreCompression=x5.StorageType=x5.RetentionPolicy=x5.RepublishHeaders=x5.ReplayPolicy=x5.KvWatchInclude=x5.JsHeaders=x5.DiscardPolicy=x5.DirectMsgHeaders=x5.DeliverPolicy=x5.ConsumerEvents=x5.ConsumerDebugEvents=x5.AdvisoryKind=x5.AckPolicy=x5.isHeartbeatMsg=x5.isFlowControlMsg=x5.checkJsError=void 0;var qy1=OX1();Object.defineProperty(x5,"checkJsError",{enumerable:!0,get:function(){return qy1.checkJsError}});Object.defineProperty(x5,"isFlowControlMsg",{enumerable:!0,get:function(){return qy1.isFlowControlMsg}});Object.defineProperty(x5,"isHeartbeatMsg",{enumerable:!0,get:function(){return qy1.isHeartbeatMsg}});var kZ=OX1();Object.defineProperty(x5,"AckPolicy",{enumerable:!0,get:function(){return kZ.AckPolicy}});Object.defineProperty(x5,"AdvisoryKind",{enumerable:!0,get:function(){return kZ.AdvisoryKind}});Object.defineProperty(x5,"ConsumerDebugEvents",{enumerable:!0,get:function(){return kZ.ConsumerDebugEvents}});Object.defineProperty(x5,"ConsumerEvents",{enumerable:!0,get:function(){return kZ.ConsumerEvents}});Object.defineProperty(x5,"DeliverPolicy",{enumerable:!0,get:function(){return kZ.DeliverPolicy}});Object.defineProperty(x5,"DirectMsgHeaders",{enumerable:!0,get:function(){return kZ.DirectMsgHeaders}});Object.defineProperty(x5,"DiscardPolicy",{enumerable:!0,get:function(){return kZ.DiscardPolicy}});Object.defineProperty(x5,"JsHeaders",{enumerable:!0,get:function(){return kZ.JsHeaders}});Object.defineProperty(x5,"KvWatchInclude",{enumerable:!0,get:function(){return kZ.KvWatchInclude}});Object.defineProperty(x5,"ReplayPolicy",{enumerable:!0,get:function(){return kZ.ReplayPolicy}});Object.defineProperty(x5,"RepublishHeaders",{enumerable:!0,get:function(){return kZ.RepublishHeaders}});Object.defineProperty(x5,"RetentionPolicy",{enumerable:!0,get:function(){return kZ.RetentionPolicy}});Object.defineProperty(x5,"StorageType",{enumerable:!0,get:function(){return kZ.StorageType}});Object.defineProperty(x5,"StoreCompression",{enumerable:!0,get:function(){return kZ.StoreCompression}});var i$8=Xq();Object.defineProperty(x5,"consumerOpts",{enumerable:!0,get:function(){return i$8.consumerOpts}})});var LX1=n((BV)=>{var r$8=BV&&BV.__createBinding||(Object.create?function(Y,X,J,G){if(G===void 0)G=J;var W=Object.getOwnPropertyDescriptor(X,J);if(!W||("get"in W?!X.__esModule:W.writable||W.configurable))W={enumerable:!0,get:function(){return X[J]}};Object.defineProperty(Y,G,W)}:function(Y,X,J,G){if(G===void 0)G=J;Y[G]=X[J]}),QV6=BV&&BV.__exportStar||function(Y,X){for(var J in Y)if(J!=="default"&&!Object.prototype.hasOwnProperty.call(X,J))r$8(X,Y,J)};Object.defineProperty(BV,"__esModule",{value:!0});BV.connect=void 0;if(typeof TextEncoder>"u"){let{TextEncoder:Y,TextDecoder:X}=U0("util");global.TextEncoder=Y,global.TextDecoder=X}if(typeof globalThis.crypto>"u"){let Y=U0("crypto");global.crypto=Y.webcrypto}if(typeof globalThis.ReadableStream>"u"){let Y=process.versions.node.split(".");if(parseInt(Y[0])>=16){let J=U0("stream/web");global.ReadableStream=J.ReadableStream}}var o$8=WV6();Object.defineProperty(BV,"connect",{enumerable:!0,get:function(){return o$8.connect}});QV6(jf1(),BV);QV6(ZV6(),BV)});var yX1={};bY(yX1,{waitForSeed:()=>bF8,seedLocalMode:()=>vF8,markSeedComplete:()=>yF8,isLocalMode:()=>dA,getLocalAdminUser:()=>vy1,getLocalAdminPassword:()=>fX1});import{randomBytes as RF8}from"crypto";import{mkdir as TF8,writeFile as CF8,chmod as jF8}from"fs/promises";import{userInfo as IF8}from"os";import{join as SF8}from"path";async function fX1(){if(vX1)return vX1;let Y=Z4.DATA_DIR,X=SF8(Y,"secrets.json");try{let G=Bun.file(X);if(await G.exists()){let W=await G.json();if(W.LOCAL_ADMIN_PASSWORD){let Z=W.LOCAL_ADMIN_PASSWORD;return vX1=Z,Z}}}catch{}let J=RF8(24).toString("base64");try{await TF8(Y,{recursive:!0,mode:448});let G={};try{let W=Bun.file(X);if(await W.exists())G=await W.json()}catch{}G.LOCAL_ADMIN_PASSWORD=J,await CF8(X,JSON.stringify(G,null,2),{mode:384}),await jF8(X,384)}catch(G){console.warn("Warning: Could not save secrets file:",G)}return vX1=J,J}function nV6(){try{return IF8().username||"local"}catch{return"local"}}function kF8(Y){return Y.charAt(0).toUpperCase()+Y.slice(1)}async function _F8(){let Y=HU(),X=await Y.db.selectFrom("user").select(Y.db.fn.countAll().as("count")).executeTakeFirst();return Number(X?.count??0)===0}async function vF8(){if(!await _F8())return!1;let X=nV6(),J=`${X}@localhost.mesh`,G=kF8(X),W=await fX1(),Z=await rK.api.signUpEmail({body:{email:J,password:W,name:G}});if(!Z?.user?.id)throw Error("Failed to create local admin user");let K=Z.user.id,Q=HU();await Q.db.updateTable("user").set({role:"admin"}).where("id","=",K).execute();let H=`${X}-local`.toLowerCase().replace(/[^a-z0-9-]/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,""),$=`${G} Local`;return await Q.db.updateTable("organization").set({name:$,slug:H}).where("id","in",(F)=>F.selectFrom("member").select("organizationId").where("userId","=",K)).execute(),!0}async function vy1(){let Y=HU(),X=`${nV6()}@localhost.mesh`;return Y.db.selectFrom("user").where("email","=",X).selectAll().executeTakeFirst()}function dA(){return Z4.MESH_LOCAL_MODE}function yF8(){iV6()}function bF8(){return fF8}var vX1=null,iV6,fF8;var SI=b(()=>{sh();P5();DA();fF8=new Promise((Y)=>{if(iV6=Y,!dA())Y()})});import{createHmac as aV8}from"crypto";import{mkdir as rV8,writeFile as oV8}from"fs/promises";import{dirname as sV8,join as hz6}from"path";function eV8(Y){let X=Y.replace(/[^a-zA-Z0-9_-]/g,"_");return hz6(tV8,X)}function Yz8(Y){return Y.replace(/^\/+/,"").replace(/\.\./g,"")}function xz6(Y,X){let J=eV8(Y),G=Yz8(X);return hz6(J,G)}function gz6(Y,X,J,G,W){let Z=Z4.ENCRYPTION_KEY||"dev-secret",K=`${Y}:${X}:${J}:${G}`,Q=aV8("sha256",Z).update(K).digest("hex");return W===Q}function sy1(Y){let X=Y.split(".").pop()?.toLowerCase()||"";return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",gif:"image/gif",webp:"image/webp",svg:"image/svg+xml",ico:"image/x-icon",bmp:"image/bmp",pdf:"application/pdf",json:"application/json",xml:"application/xml",txt:"text/plain",html:"text/html",htm:"text/html",css:"text/css",csv:"text/csv",md:"text/markdown",js:"application/javascript",mjs:"application/javascript",ts:"application/typescript",mp4:"video/mp4",webm:"video/webm",avi:"video/x-msvideo",mov:"video/quicktime",mp3:"audio/mpeg",wav:"audio/wav",ogg:"audio/ogg",zip:"application/zip",gz:"application/gzip",tar:"application/x-tar",woff:"font/woff",woff2:"font/woff2",ttf:"font/ttf",otf:"font/otf"}[X]||"application/octet-stream"}var tV8="./data/assets",oy1,uz6;var ty1=b(()=>{pZ();P5();oy1=new KX;oy1.get("/:orgId/*",async(Y)=>{let X=Y.req.param("orgId"),J=Y.req.path.replace(`/api/dev-assets/${X}/`,"");if(!X||!J)return Y.json({error:"Missing orgId or key"},400);let G=Y.req.query("expires"),W=Y.req.query("signature"),Z=Y.req.query("method");if(!G||!W||Z!=="GET")return Y.json({error:"Invalid or missing signature parameters"},400);let K=parseInt(G,10);if(!Number.isFinite(K))return Y.json({error:"Invalid expires parameter"},400);let Q=Math.floor(Date.now()/1000);if(K<Q)return Y.json({error:"URL has expired"},403);if(!gz6(X,J,K,"GET",W))return Y.json({error:"Invalid signature"},403);let H=xz6(X,J);try{let $=Bun.file(H);if(!await $.exists())return Y.json({error:"File not found"},404);let V=sy1(J);return new Response($.stream(),{headers:{"Content-Type":V,"Content-Length":$.size.toString(),"Cache-Control":"private, max-age=3600"}})}catch($){return console.error("Error serving file:",$),Y.json({error:"Failed to read file"},500)}});oy1.put("/:orgId/*",async(Y)=>{let X=Y.req.param("orgId"),J=Y.req.path.replace(`/api/dev-assets/${X}/`,"");if(!X||!J)return Y.json({error:"Missing orgId or key"},400);let G=Y.req.query("expires"),W=Y.req.query("signature"),Z=Y.req.query("method");if(!G||!W||Z!=="PUT")return Y.json({error:"Invalid or missing signature parameters"},400);let K=parseInt(G,10);if(!Number.isFinite(K))return Y.json({error:"Invalid expires parameter"},400);let Q=Math.floor(Date.now()/1000);if(K<Q)return Y.json({error:"URL has expired"},403);if(!gz6(X,J,K,"PUT",W))return Y.json({error:"Invalid signature"},403);let H=xz6(X,J),$=sV8(H);try{await rV8($,{recursive:!0});let F=await Y.req.arrayBuffer();return await oV8(H,Buffer.from(F)),Y.json({success:!0,key:J})}catch(F){return console.error("Error saving file:",F),Y.json({error:"Failed to save file"},500)}});uz6=oy1});import{createHmac as cz6}from"crypto";import{mkdir as Xz8,readdir as Jz8,rm as mz6,stat as pz6}from"fs/promises";import{join as Yb1,relative as Gz8}from"path";function iz6(Y){let X=Y.replace(/[^a-zA-Z0-9_-]/g,"_");return Yb1(Wz8,X)}function az6(Y){return Y.replace(/^\/+/,"").replace(/\.\./g,"")}function ey1(Y,X){let J=iz6(Y),G=az6(X);return Yb1(J,G)}function Zz8(Y,X,J,G){let W=Z4.ENCRYPTION_KEY||"dev-secret",Z=`${Y}:${X}:${J}:${G}`;return cz6("sha256",W).update(Z).digest("hex")}function dz6(Y,X,J,G,W){let Z=Math.floor(Date.now()/1000)+G,K=Zz8(X,J,Z,W),Q=new URL(`/api/dev-assets/${X}/${az6(J)}`,Y);return Q.searchParams.set("expires",Z.toString()),Q.searchParams.set("signature",K),Q.searchParams.set("method",W),Q.toString()}function rz6(Y,X,J){let G=`${Y}:${X.getTime()}:${J}`;return`"${cz6("md5","etag").update(G).digest("hex")}"`}async function oz6(Y,X,J,G,W){try{let Z=await Jz8(Y,{withFileTypes:!0});for(let K of Z){let Q=Yb1(Y,K.name),$=Gz8(X,Q).replace(/\\/g,"/");if(J&&!$.startsWith(J))continue;if(K.isDirectory())if(G){let F=$+"/";if(!J||F.startsWith(J)){if(!(J?$.slice(J.length):$).includes("/"))W.commonPrefixes.add(F)}}else await oz6(Q,X,J,G,W);else if(K.isFile()){if(G&&J){let F=$.slice(J.length);if(F.includes(G)){let V=F.indexOf(G),z=J+F.slice(0,V+1);W.commonPrefixes.add(z);continue}}try{let F=await pz6(Q);W.objects.push({key:$,size:F.size,lastModified:F.mtime.toISOString(),etag:rz6(Q,F.mtime,F.size)})}catch{}}}}catch{}}function sz6(Y,X){let G=B6(Y).id;return[{name:"LIST_OBJECTS",description:"List objects in the local assets directory with pagination support",inputSchema:B.object({prefix:B.string().optional(),maxKeys:B.number().optional().default(1000),continuationToken:B.string().optional(),delimiter:B.string().optional()}),outputSchema:B.object({objects:B.array(B.object({key:B.string(),size:B.number(),lastModified:B.string(),etag:B.string()})),nextContinuationToken:B.string().optional(),isTruncated:B.boolean(),commonPrefixes:B.array(B.string()).optional()}),handler:async(W)=>{let Z=W,K=Z.prefix||"",Q=Z.maxKeys??1000,H=Z.delimiter,$=Z.continuationToken,F=iz6(G);await Xz8(F,{recursive:!0});let V={objects:[],commonPrefixes:new Set};await oz6(F,F,K,H,V),V.objects.sort((L,w)=>L.key.localeCompare(w.key));let z=0;if($){if(z=V.objects.findIndex((L)=>L.key>$),z===-1)z=V.objects.length}let U=V.objects.slice(z,z+Q),q=z+Q<V.objects.length,D=q?U[U.length-1]?.key:void 0;return{objects:U,isTruncated:q,nextContinuationToken:D,commonPrefixes:Array.from(V.commonPrefixes).sort()}}},{name:"GET_OBJECT_METADATA",description:"Get metadata for a file in the local assets directory",inputSchema:B.object({key:B.string()}),outputSchema:B.object({contentType:B.string().optional(),contentLength:B.number(),lastModified:B.string(),etag:B.string(),metadata:B.record(B.string(),B.string()).optional()}),handler:async(W)=>{let Z=W,K=ey1(G,Z.key),Q=await pz6(K);return{contentType:sy1(Z.key),contentLength:Q.size,lastModified:Q.mtime.toISOString(),etag:rz6(K,Q.mtime,Q.size)}}},{name:"GET_PRESIGNED_URL",description:"Generate a presigned URL for downloading a file from local storage",inputSchema:B.object({key:B.string(),expiresIn:B.number().optional()}),outputSchema:B.object({url:B.string(),expiresIn:B.number()}),handler:async(W)=>{let Z=W,K=Z.expiresIn??lz6;return{url:dz6(X,G,Z.key,K,"GET"),expiresIn:K}}},{name:"PUT_PRESIGNED_URL",description:"Generate a presigned URL for uploading a file to local storage",inputSchema:B.object({key:B.string(),expiresIn:B.number().optional(),contentType:B.string().optional()}),outputSchema:B.object({url:B.string(),expiresIn:B.number()}),handler:async(W)=>{let Z=W,K=Z.expiresIn??lz6;return{url:dz6(X,G,Z.key,K,"PUT"),expiresIn:K}}},{name:"DELETE_OBJECT",description:"Delete a single file from local storage",inputSchema:B.object({key:B.string()}),outputSchema:B.object({success:B.boolean(),key:B.string()}),handler:async(W)=>{let Z=W,K=ey1(G,Z.key);try{return await mz6(K),{success:!0,key:Z.key}}catch{return{success:!1,key:Z.key}}}},{name:"DELETE_OBJECTS",description:"Delete multiple files from local storage",inputSchema:B.object({keys:B.array(B.string()).max(1000)}),outputSchema:B.object({deleted:B.array(B.string()),errors:B.array(B.object({key:B.string(),message:B.string()}))}),handler:async(W)=>{let Z=W,K=[],Q=[];return await Promise.all(Z.keys.map(async(H)=>{let $=ey1(G,H);try{await mz6($),K.push(H)}catch(F){Q.push({key:H,message:F instanceof Error?F.message:"Unknown error"})}})),{deleted:K,errors:Q}}}]}async function Xb1(Y,X,J){let G=sz6(X,J),W=new Fz({name:"dev-assets-mcp",version:"1.0.0"},{capabilities:{tools:{}}});for(let K of G){let Q="shape"in K.inputSchema?K.inputSchema.shape:B.object({}).shape,H=K.outputSchema&&"shape"in K.outputSchema?K.outputSchema.shape:B.object({}).shape;W.registerTool(K.name,{description:K.description??"",inputSchema:Q,outputSchema:H,annotations:K.annotations,_meta:K._meta},async($)=>{try{let F=await K.handler($);return{content:[{type:"text",text:JSON.stringify(F)}],structuredContent:F}}catch(F){return{content:[{type:"text",text:`Error: ${F.message}`}],isError:!0}}})}let Z=new _3({enableJsonResponse:Y.headers.get("Accept")?.includes("application/json")??!1});return await W.connect(Z),Z.handleRequest(Y)}async function tz6(Y,X,J,G){let Z=sz6(J,G).find((K)=>K.name===Y);if(!Z)return{content:[{type:"text",text:`Tool not found: ${Y}`}],isError:!0};try{let K=await Z.handler(X);return{content:[{type:"text",text:JSON.stringify(K)}]}}catch(K){return{content:[{type:"text",text:K instanceof Error?K.message:String(K)}],isError:!0}}}var Wz8="./data/assets",lz6=3600,nz6,ez6;var YU6=b(()=>{P5();pZ();d0();_f();eC();ty1();nz6=new KX;nz6.all("/",async(Y)=>{let X=Y.get("meshContext"),J=new URL(Y.req.url),G=`${J.protocol}//${J.host}`;return Xb1(Y.req.raw,X,G)});ez6=nz6});var XU6={};bY(XU6,{mountDevRoutes:()=>Qz8});function Qz8(Y,X){Y.all("/mcp/:connectionId{.*_dev-assets$}",X,async(J)=>{let G=J.get("meshContext"),W=new URL(J.req.url),Z=`${W.protocol}//${W.host}`;return Xb1(J.req.raw,G,Z)}),Y.all("/mcp/:connectionId{.*_dev-assets$}/call-tool/:toolName",X,async(J)=>{let G=J.get("meshContext"),W=new URL(J.req.url),Z=`${W.protocol}//${W.host}`,K=J.req.param("toolName");if(!K)return J.json({error:"Missing tool name"},400);let Q=await J.req.json(),H=await tz6(K,Q,G,Z);if(H.isError)return J.json(H.content,500);return J.json(H.content)}),Y.use("/mcp/dev-assets",X),Y.route("/mcp/dev-assets",ez6),Y.route("/api/dev-assets",uz6)}var JU6=b(()=>{YU6();ty1()});_L();rP();var ZM0=["connection","keep-alive","proxy-authenticate","proxy-authorization","te","trailer","transfer-encoding","upgrade"],CW4=/^[!#$%&'*+\-.0-9A-Z^_`a-z|~]+$/,jW4=(Y,X)=>{if(!Y)return{};let J=new Headers(Y.headers);if(X){let G=J.get("connection");if(G){let W=G.split(",").map((K)=>K.trim()),Z=W.filter((K)=>!CW4.test(K));if(Z.length>0)throw new T5(400,{message:`Invalid Connection header value: ${Z.join(", ")}`});W.forEach((K)=>{J.delete(K)})}}return ZM0.forEach((G)=>{J.delete(G)}),{method:Y.method,body:Y.body,duplex:Y.body?"half":void 0,headers:J,signal:Y.signal}},IW4=(Y)=>{if(!Y.headers||Array.isArray(Y.headers)||Y.headers instanceof Headers)return Y;let X=new Headers;for(let[J,G]of Object.entries(Y.headers))if(G==null)X.delete(J);else X.set(J,G);return Y.headers=X,Y},QM0=async(Y,X)=>{let{raw:J,customFetch:G,strictConnectionProcessing:W=!1,...Z}=X instanceof Request?{raw:X}:X??{},K=new Request(Y,{...jW4(J,W),...IW4(Z)});K.headers.delete("accept-encoding");let Q=await(G||fetch)(K),H=new Headers(Q.headers);if(ZM0.forEach(($)=>{H.delete($)}),H.has("content-encoding"))H.delete("content-encoding"),H.delete("content-length");return new Response(Q.body,{status:Q.status,statusText:Q.statusText,headers:H})};var KM0=(Y)=>(X)=>{let J=new URL(X.req.raw.url),G=new URL(Y);return G.pathname=J.pathname,G.search=J.search,QM0(G,{raw:X.req.raw,headers:{...X.req.raw.headers}})};import{resolve as Av,dirname as SW4,join as kW4,extname as _W4,basename as vW4,sep as HM0}from"path";function fW4(Y,X){if(Y===X||vW4(Y)==="index.html")return{"Cache-Control":"no-cache"};if(Y.includes(`${HM0}assets${HM0}`))return{"Cache-Control":"public, max-age=31536000, immutable"};return{}}var yW4=`http://localhost:${process.env.VITE_PORT||"4000"}`,bW4="./dist/client";function hW4(Y,X){let J=Av(X),G=Av(Y);return G===J||G.startsWith(J+"/")}function xW4({requestPath:Y,clientDir:X}){let J=Y.startsWith("/")?Y.slice(1):Y,G=Av(X,J);if(!hW4(G,X))return null;return G}function gV1(Y,X="../client"){let J=new URL(Y),G=SW4(J.pathname);return Av(G,X)}function $M0(Y={}){let{env:X="production",devServerUrl:J=yW4,clientDir:G=bW4,isServerPath:W=()=>!1}=Y;if(X==="development"){let Z=KM0(J);return async function(Q){let H=new URL(Q.url);if(W(H.pathname))return null;let $={req:{raw:Q,url:Q.url}};return Z($)}}return async function(K){if(K.method!=="GET")return null;let Q=new URL(K.url),H;try{H=decodeURIComponent(Q.pathname)}catch{return null}if(W(H))return null;let $=xW4({requestPath:H,clientDir:G});if(!$)return null;let F=kW4($,"index.html"),V=Av(G,"index.html"),z=K.headers.get("accept"),q=z?.includes("text/html")||z?.includes("*/*")&&["",".html"].includes(_W4($))?[F,V]:[];for(let D of[$,...q])try{let L=Bun.file(D);if(await L.exists())return new Response(L,{headers:fW4(D,V)})}catch{}if(H.includes("/assets/"))return new Response("Not Found",{status:404,headers:{"Cache-Control":"no-store"}});return null}}P5();var FM0="https://studio.decocms.com/org/deco/registry/mcp";function VM0(Y){if(!Y)return!1;try{return new URL(Y).host==="api.decocms.com"&&Y!=="https://studio.decocms.com/org/deco/registry/mcp"}catch{return!1}}XX();pZ();var GU6=f4(g71(),1);RB();var lD4=/^[\w!#$%&'*.^`|~+-]+$/,dD4=/^[ !#-:<-[\]-~]*$/,VB1=(Y,X)=>{if(X&&Y.indexOf(X)===-1)return{};let J=Y.trim().split(";"),G={};for(let W of J){W=W.trim();let Z=W.indexOf("=");if(Z===-1)continue;let K=W.substring(0,Z).trim();if(X&&X!==K||!lD4.test(K))continue;let Q=W.substring(Z+1).trim();if(Q.startsWith('"')&&Q.endsWith('"'))Q=Q.slice(1,-1);if(dD4.test(Q)){if(G[K]=Q.indexOf("%")!==-1?yE(Q,vf):Q,X)break}}return G};var $C0=(Y,X,J)=>{let G=Y.req.raw.headers.get("Cookie");if(typeof X==="string"){if(!G)return;let Z=X;if(J==="secure")Z="__Secure-"+X;else if(J==="host")Z="__Host-"+X;return VB1(G,Z)[Z]}if(!G)return{};return VB1(G)};var FC0=(Y)=>{let J={...{origin:"*",allowMethods:["GET","HEAD","PUT","POST","DELETE","PATCH"],allowHeaders:[],exposeHeaders:[]},...Y},G=((Z)=>{if(typeof Z==="string")if(Z==="*")return()=>Z;else return(K)=>Z===K?K:null;else if(typeof Z==="function")return Z;else return(K)=>Z.includes(K)?K:null})(J.origin),W=((Z)=>{if(typeof Z==="function")return Z;else if(Array.isArray(Z))return()=>Z;else return()=>[]})(J.allowMethods);return async function(K,Q){function H(F,V){K.res.headers.set(F,V)}let $=await G(K.req.header("origin")||"",K);if($)H("Access-Control-Allow-Origin",$);if(J.credentials)H("Access-Control-Allow-Credentials","true");if(J.exposeHeaders?.length)H("Access-Control-Expose-Headers",J.exposeHeaders.join(","));if(K.req.method==="OPTIONS"){if(J.origin!=="*")H("Vary","Origin");if(J.maxAge!=null)H("Access-Control-Max-Age",J.maxAge.toString());let F=await W(K.req.header("origin")||"",K);if(F.length)H("Access-Control-Allow-Methods",F.join(","));let V=J.allowHeaders;if(!V?.length){let z=K.req.header("Access-Control-Request-Headers");if(z)V=z.split(/\s*,\s*/)}if(V?.length)H("Access-Control-Allow-Headers",V.join(",")),K.res.headers.append("Vary","Access-Control-Request-Headers");return K.res.headers.delete("Content-Length"),K.res.headers.delete("Content-Type"),new Response(null,{headers:K.res.headers,status:204,statusText:"No Content"})}if(await Q(),J.origin!=="*")K.header("Vary","Origin",{append:!0})}};function cD4(){let{process:Y,Deno:X}=globalThis;return!(typeof X?.noColor==="boolean"?X.noColor:Y!==void 0?"NO_COLOR"in Y?.env:!1)}async function VC0(){let{navigator:Y}=globalThis,X="cloudflare:workers";return!(Y!==void 0&&Y.userAgent==="Cloudflare-Workers"?await(async()=>{try{return"NO_COLOR"in((await import("cloudflare:workers")).env??{})}catch{return!1}})():!cD4())}var pD4=(Y)=>{let[X,J]=[",","."];return Y.map((W)=>W.replace(/(\d)(?=(\d\d\d)+(?!\d))/g,"$1"+X)).join(J)},nD4=(Y)=>{let X=Date.now()-Y;return pD4([X<1000?X+"ms":Math.round(X/1000)+"s"])},iD4=async(Y)=>{if(await VC0())switch(Y/100|0){case 5:return`\x1B[31m${Y}\x1B[0m`;case 4:return`\x1B[33m${Y}\x1B[0m`;case 3:return`\x1B[36m${Y}\x1B[0m`;case 2:return`\x1B[32m${Y}\x1B[0m`}return`${Y}`};async function zC0(Y,X,J,G,W=0,Z){let K=X==="<--"?`${X} ${J} ${G}`:`${X} ${J} ${G} ${await iD4(W)} ${Z}`;Y(K)}var UC0=(Y=console.log)=>{return async function(J,G){let{method:W,url:Z}=J.req,K=Z.slice(Z.indexOf("/",8));await zC0(Y,"<--",W,K);let Q=Date.now();await G(),await zC0(Y,"-->",W,K,J.res.status,nD4(Q))}};po();var qC0=()=>{try{return performance.now()}catch{}return Date.now()},zB1=(Y)=>{let X={total:!0,enabled:!0,totalDescription:"Total Response Time",autoEnd:!0,crossOrigin:!1,...Y};return async function(G,W){let Z=[],K=new Map;if(G.get("metric"))return await W();if(G.set("metric",{headers:Z,timers:K}),X.total)hE(G,"total",X.totalDescription);if(await W(),X.total)oN(G,"total");if(X.autoEnd)K.forEach((H,$)=>oN(G,$));if(typeof X.enabled==="function"?X.enabled(G):X.enabled){G.res.headers.append("Server-Timing",Z.join(","));let H=typeof X.crossOrigin==="function"?X.crossOrigin(G):X.crossOrigin;if(H)G.res.headers.append("Timing-Allow-Origin",typeof H==="string"?H:"*")}}},BC0=(Y,X,J,G,W)=>{let Z=Y.get("metric");if(!Z){console.warn("Metrics not initialized! Please add the `timing()` middleware to this route!");return}if(typeof J==="number"){let K=J.toFixed(W||1),Q=G?`${X};dur=${K};desc="${G}"`:`${X};dur=${K}`;Z.headers.push(Q)}else{let K=J?`${X};desc="${J}"`:`${X}`;Z.headers.push(K)}},hE=(Y,X,J)=>{let G=Y.get("metric");if(!G){console.warn("Metrics not initialized! Please add the `timing()` middleware to this route!");return}G.timers.set(X,{description:J,start:qC0()})},oN=(Y,X,J)=>{let G=Y.get("metric");if(!G){console.warn("Metrics not initialized! Please add the `timing()` middleware to this route!");return}let W=G.timers.get(X);if(!W){console.warn(`Timer "${X}" does not exist!`);return}let{description:Z,start:K}=W,Q=qC0()-K;BC0(Y,X,Q,Z,J),G.timers.delete(X)};DA();Wk1();p01();P5();TD();e21();DQ();XX();rU();class u_1{db;constructor(Y){this.db=Y}async create(Y,X,J){let G=r9("vir"),W=new Date().toISOString();if(await this.db.insertInto("connections").values({id:G,organization_id:Y,created_by:X,title:J.title,description:J.description??null,icon:J.icon??null,app_name:null,app_id:null,connection_type:"VIRTUAL",connection_url:`virtual://${G}`,connection_token:null,connection_headers:null,oauth_config:null,configuration_state:null,configuration_scopes:null,metadata:J.metadata?JSON.stringify(J.metadata):null,tools:null,bindings:null,status:J.status??"active",created_at:W,updated_at:W}).execute(),J.connections.length>0)await this.db.insertInto("connection_aggregations").values(J.connections.map((K)=>({id:r9("agg"),parent_connection_id:G,child_connection_id:K.connection_id,selected_tools:K.selected_tools?JSON.stringify(K.selected_tools):null,selected_resources:K.selected_resources?JSON.stringify(K.selected_resources):null,selected_prompts:K.selected_prompts?JSON.stringify(K.selected_prompts):null,dependency_mode:"direct",created_at:W}))).execute();let Z=await this.findById(G);if(!Z)throw Error(`Failed to create virtual MCP with id: ${G}`);return Z}async findById(Y,X){let J=$z(Y);if(J){let G=X??J,W=await this.db.selectFrom("connections").selectAll().where("organization_id","=",G).where("status","!=","inactive").where("status","!=","error").execute();return{...vo(G),connections:W.map((Z)=>({connection_id:Z.id,selected_tools:null,selected_resources:null,selected_prompts:null}))}}return this.findByIdInternal(this.db,Y)}async findByIdInternal(Y,X){let J=await Y.selectFrom("connections").selectAll().where("id","=",X).where("connection_type","=","VIRTUAL").executeTakeFirst();if(!J)return null;let G=await Y.selectFrom("connection_aggregations").selectAll().where("parent_connection_id","=",X).where("dependency_mode","=","direct").execute();return this.deserializeVirtualMCPEntity(J,G)}async list(Y){let X=await this.db.selectFrom("connections").selectAll().where("organization_id","=",Y).where("connection_type","=","VIRTUAL").execute(),J=X.map((Z)=>Z.id);if(J.length===0)return[];let G=await this.db.selectFrom("connection_aggregations").selectAll().where("parent_connection_id","in",J).where("dependency_mode","=","direct").execute(),W=new Map;for(let Z of G){let K=W.get(Z.parent_connection_id)??[];K.push(Z),W.set(Z.parent_connection_id,K)}return X.map((Z)=>this.deserializeVirtualMCPEntity(Z,W.get(Z.id)??[]))}async listByConnectionId(Y,X){let G=(await this.db.selectFrom("connection_aggregations").select("parent_connection_id").where("child_connection_id","=",X).execute()).map((H)=>H.parent_connection_id);if(G.length===0)return[];let W=await this.db.selectFrom("connections").selectAll().where("id","in",G).where("organization_id","=",Y).where("connection_type","=","VIRTUAL").execute();if(W.length===0)return[];let Z=W.map((H)=>H.id),K=await this.db.selectFrom("connection_aggregations").selectAll().where("parent_connection_id","in",Z).where("dependency_mode","=","direct").execute(),Q=new Map;for(let H of K){let $=Q.get(H.parent_connection_id)??[];$.push(H),Q.set(H.parent_connection_id,$)}return W.map((H)=>this.deserializeVirtualMCPEntity(H,Q.get(H.id)??[]))}async update(Y,X,J){let G=new Date().toISOString(),W={updated_at:G,updated_by:X};if(J.title!==void 0)W.title=J.title;if(J.description!==void 0)W.description=J.description;if(J.icon!==void 0)W.icon=J.icon;if(J.status!==void 0)W.status=J.status;if(J.metadata!==void 0)W.metadata=J.metadata?JSON.stringify(J.metadata):null;if(await this.db.updateTable("connections").set(W).where("id","=",Y).where("connection_type","=","VIRTUAL").execute(),J.connections!==void 0){if(await this.db.deleteFrom("connection_aggregations").where("parent_connection_id","=",Y).where("dependency_mode","=","direct").execute(),J.connections.length>0)await this.db.insertInto("connection_aggregations").values(J.connections.map((K)=>({id:r9("agg"),parent_connection_id:Y,child_connection_id:K.connection_id,selected_tools:K.selected_tools?JSON.stringify(K.selected_tools):null,selected_resources:K.selected_resources?JSON.stringify(K.selected_resources):null,selected_prompts:K.selected_prompts?JSON.stringify(K.selected_prompts):null,dependency_mode:"direct",created_at:G}))).execute()}let Z=await this.findById(Y);if(!Z)throw Error("Virtual MCP not found after update");return Z}async delete(Y){await this.db.deleteFrom("connection_aggregations").where("parent_connection_id","=",Y).execute(),await this.db.deleteFrom("connections").where("id","=",Y).where("connection_type","=","VIRTUAL").execute()}async removeConnectionReferences(Y){await this.db.deleteFrom("connection_aggregations").where("child_connection_id","=",Y).execute()}deserializeVirtualMCPEntity(Y,X){let J=Y.created_at instanceof Date?Y.created_at.toISOString():Y.created_at,G=Y.updated_at instanceof Date?Y.updated_at.toISOString():Y.updated_at,W=Y.status==="active"?"active":"inactive",Z=this.parseJson(Y.metadata);return{id:Y.id,organization_id:Y.organization_id,title:Y.title,description:Y.description,icon:Y.icon,status:W,created_at:J,updated_at:G,created_by:Y.created_by,updated_by:Y.updated_by??void 0,metadata:{...Z,instructions:Z?.instructions??null},connections:X.map((K)=>({connection_id:K.child_connection_id,selected_tools:this.parseJson(K.selected_tools),selected_resources:this.parseJson(K.selected_resources),selected_prompts:this.parseJson(K.selected_prompts)}))}}parseJson(Y){if(Y===null)return null;if(typeof Y==="string")try{return JSON.parse(Y)}catch{return null}return Y}async listVirtualTools(Y){let X=await this.db.selectFrom("connections").select(["tools","created_at","updated_at"]).where("id","=",Y).where("connection_type","=","VIRTUAL").executeTakeFirst();if(!X)return[];let J=this.parseJson(X.tools);if(!J)return[];let G=X.created_at instanceof Date?X.created_at.toISOString():X.created_at,W=X.updated_at instanceof Date?X.updated_at.toISOString():X.updated_at;return J.map((Z,K)=>({tool:Z,originalIndex:K})).filter(({tool:Z})=>wO(Z)).map(({tool:Z,originalIndex:K})=>vu(`${Y}:${Z.name}:${K}`,Z,G,W))}async getVirtualTool(Y,X){let J=await this.db.selectFrom("connections").select(["tools","created_at","updated_at"]).where("id","=",Y).where("connection_type","=","VIRTUAL").executeTakeFirst();if(!J)return null;let G=this.parseJson(J.tools);if(!G)return null;let W=G.findIndex((H)=>H.name===X&&wO(H));if(W===-1)return null;let Z=G[W],K=J.created_at instanceof Date?J.created_at.toISOString():J.created_at,Q=J.updated_at instanceof Date?J.updated_at.toISOString():J.updated_at;return vu(`${Y}:${Z.name}:${W}`,Z,K,Q)}async createVirtualTool(Y,X,J){let G=new Date().toISOString(),W=await this.db.selectFrom("connections").select(["tools"]).where("id","=",Y).where("connection_type","=","VIRTUAL").executeTakeFirst();if(!W)throw Error(`Virtual MCP not found: ${Y}`);let Z=this.parseJson(W.tools)??[];if(Z.some((Q)=>Q.name===X.name))throw Error(`Tool with name "${X.name}" already exists`);let K={name:X.name,description:X.description,inputSchema:X.inputSchema,outputSchema:X.outputSchema,annotations:X.annotations,_meta:{"mcp.mesh":{"tool.fn":X.code},connectionDependencies:J}};return Z.push(K),await this.db.updateTable("connections").set({tools:JSON.stringify(Z),updated_at:G}).where("id","=",Y).execute(),await this.syncIndirectDependencies(Y,J),vu(`${Y}:${X.name}:${Z.length-1}`,K,G,G)}async updateVirtualTool(Y,X,J,G){let W=new Date().toISOString(),Z=await this.db.selectFrom("connections").select(["tools","created_at"]).where("id","=",Y).where("connection_type","=","VIRTUAL").executeTakeFirst();if(!Z)throw Error(`Virtual MCP not found: ${Y}`);let K=this.parseJson(Z.tools)??[],Q=K.findIndex((z)=>z.name===X&&wO(z));if(Q===-1)throw Error(`Virtual tool not found: ${X}`);let H=K[Q];if(J.name&&J.name!==X){if(K.some((z)=>z.name===J.name))throw Error(`Tool with name "${J.name}" already exists`)}let $=G??H._meta.connectionDependencies??[],F={name:J.name??H.name,description:J.description!==void 0?J.description??void 0:H.description,inputSchema:J.inputSchema??H.inputSchema,outputSchema:J.outputSchema!==void 0?J.outputSchema??void 0:H.outputSchema,annotations:J.annotations!==void 0?J.annotations??void 0:H.annotations,_meta:{"mcp.mesh":{"tool.fn":J.code??H._meta["mcp.mesh"]["tool.fn"]},connectionDependencies:$}};if(K[Q]=F,await this.db.updateTable("connections").set({tools:JSON.stringify(K),updated_at:W}).where("id","=",Y).execute(),G!==void 0)await this.recalculateIndirectDependencies(Y,K);let V=Z.created_at instanceof Date?Z.created_at.toISOString():Z.created_at;return vu(`${Y}:${F.name}:${Q}`,F,V,W)}async deleteVirtualTool(Y,X){let J=new Date().toISOString(),G=await this.db.selectFrom("connections").select(["tools"]).where("id","=",Y).where("connection_type","=","VIRTUAL").executeTakeFirst();if(!G)throw Error(`Virtual MCP not found: ${Y}`);let W=this.parseJson(G.tools)??[],Z=W.findIndex((K)=>K.name===X&&wO(K));if(Z===-1)throw Error(`Virtual tool not found: ${X}`);W.splice(Z,1),await this.db.updateTable("connections").set({tools:W.length>0?JSON.stringify(W):null,updated_at:J}).where("id","=",Y).execute(),await this.recalculateIndirectDependencies(Y,W)}async syncIndirectDependencies(Y,X){if(X.length===0)return;let J=new Date().toISOString(),G=await this.db.selectFrom("connection_aggregations").select(["child_connection_id","dependency_mode"]).where("parent_connection_id","=",Y).execute(),W=new Set(G.map((K)=>K.child_connection_id)),Z=X.filter((K)=>!W.has(K));if(Z.length>0)await this.db.insertInto("connection_aggregations").values(Z.map((K)=>({id:r9("agg"),parent_connection_id:Y,child_connection_id:K,selected_tools:null,selected_resources:null,selected_prompts:null,dependency_mode:"indirect",created_at:J}))).execute()}async recalculateIndirectDependencies(Y,X){let J=new Set;for(let Q of X)if(wO(Q)){let H=Q._meta.connectionDependencies??[];for(let $ of H)J.add($)}let G=await this.db.selectFrom("connection_aggregations").select(["id","child_connection_id","dependency_mode"]).where("parent_connection_id","=",Y).execute(),W=G.filter((Q)=>Q.dependency_mode==="indirect"&&!J.has(Q.child_connection_id)).map((Q)=>Q.id);if(W.length>0)await this.db.deleteFrom("connection_aggregations").where("id","in",W).execute();let Z=new Set(G.map((Q)=>Q.child_connection_id)),K=Array.from(J).filter((Q)=>!Z.has(Q));if(K.length>0){let Q=new Date().toISOString();await this.db.insertInto("connection_aggregations").values(K.map((H)=>({id:r9("agg"),parent_connection_id:Y,child_connection_id:H,selected_tools:null,selected_resources:null,selected_prompts:null,dependency_mode:"indirect",created_at:Q}))).execute()}}}function XJ(Y){return Y.replace(/\0/g,"").replace(/\\/g,"\\\\").replace(/'/g,"''")}var JJ8=new Set(["connection_id","connection_title","user_id","tool_name","virtual_mcp_id"]);function GJ8(Y){if(!JJ8.has(Y))throw Error(`Invalid groupByColumn: ${Y}`);return Y}var WJ8=/^(\$\.)?[a-zA-Z0-9_]+(\.[a-zA-Z0-9_]+)*$/;function m_1(Y){if(!WJ8.test(Y))throw Error(`Invalid JSONPath: ${Y}`);if(Y.startsWith("$."))return Y;if(Y.startsWith("."))return`$${Y}`;return`$.${Y}`}function l_1(Y){return Y.replace(/^\$\./,"").split(".").map((J)=>`'${XJ(J)}'`).join(", ")}var ZJ8=/^(\d+)([mhd])$/,QJ8={m:525960,h:8760,d:365};function KJ8(Y){let X=ZJ8.exec(Y);if(!X||!X[1]||!X[2])throw Error(`Invalid interval: ${Y}`);let J=parseInt(X[1],10),G=X[2],W=QJ8[G];if(J<1||J>W)throw Error(`Invalid interval amount: ${J}${G} (max ${W}${G})`);return{amount:J,unit:G}}function HJ8(Y){let{amount:X,unit:J}=KJ8(Y),W={m:"MINUTE",h:"HOUR",d:"DAY"}[J];return`toStartOfInterval(parseDateTime64BestEffort(toString(timestamp)), INTERVAL ${X} ${W})`}function d_1(Y){if(Y===null||Y===void 0)return{};if(typeof Y==="object")return Y;try{return JSON.parse(String(Y))}catch{return{}}}function $J8(Y){return{id:String(Y.id??""),organizationId:String(Y.organization_id??""),connectionId:String(Y.connection_id??""),connectionTitle:String(Y.connection_title??""),toolName:String(Y.tool_name??""),input:d_1(Y.input),output:d_1(Y.output),isError:Y.is_error===1||Y.is_error===!0||Y.is_error==="1",errorMessage:Y.error_message!=null?String(Y.error_message):null,durationMs:Number(Y.duration_ms??0),timestamp:(()=>{if(Y.timestamp instanceof Date)return Y.timestamp.toISOString();let X=String(Y.timestamp??""),J=new Date(X.includes("T")?X:X.replace(" ","T")+"Z");return Number.isNaN(J.getTime())?X:J.toISOString()})(),userId:Y.user_id!=null?String(Y.user_id):null,requestId:String(Y.request_id??""),userAgent:Y.user_agent!=null?String(Y.user_agent):null,virtualMcpId:Y.virtual_mcp_id!=null?String(Y.virtual_mcp_id):null,properties:Y.properties?d_1(Y.properties):null}}function SZ6(Y){let X=[];if(Y.properties)for(let[J,G]of Object.entries(Y.properties)){let W=XJ(J),Z=XJ(G);X.push(`JSONExtractString(properties, '${W}') = '${Z}'`)}if(Y.propertyKeys)for(let J of Y.propertyKeys){let G=XJ(J);X.push(`JSONExtractString(properties, '${G}') IS NOT NULL AND JSONExtractString(properties, '${G}') != ''`)}if(Y.propertyPatterns)for(let[J,G]of Object.entries(Y.propertyPatterns)){let W=XJ(J),Z=XJ(G);X.push(`JSONExtractString(properties, '${W}') ILIKE '${Z}'`)}if(Y.propertyInValues)for(let[J,G]of Object.entries(Y.propertyInValues)){let W=XJ(J),Z=XJ(G);X.push(`has(splitByChar(',', JSONExtractString(properties, '${W}')), '${Z}')`)}return X}function IZ6(Y){if(!Y)return[];let X=[];if(Y.connectionIds?.length){let J=Y.connectionIds.map((G)=>`'${XJ(G)}'`).join(",");X.push(`connection_id IN (${J})`)}if(Y.toolNames?.length){let J=Y.toolNames.map((G)=>`'${XJ(G)}'`).join(",");X.push(`tool_name IN (${J})`)}if(Y.virtualMcpIds?.length){let J=Y.virtualMcpIds.map((G)=>`'${XJ(G)}'`).join(",");X.push(`virtual_mcp_id IN (${J})`)}if(Y.startDate)X.push(c_1(Y.startDate));if(Y.endDate)X.push(p_1(Y.endDate));if(Y.propertyFilters)X.push(...SZ6(Y.propertyFilters));return X}function c_1(Y){return`parseDateTime64BestEffort(toString(timestamp)) >= parseDateTime64BestEffort('${Y.toISOString()}')`}function p_1(Y){return`parseDateTime64BestEffort(toString(timestamp)) <= parseDateTime64BestEffort('${Y.toISOString()}')`}class n_1{engine;source;constructor(Y,X){this.engine=Y;this.source=X}async query(Y){if(!Y.organizationId)throw Error("organizationId is required");let X=[`organization_id = '${XJ(Y.organizationId)}'`];if(Y.connectionId)X.push(`connection_id = '${XJ(Y.connectionId)}'`);if(Y.excludeConnectionIds?.length){let $=Y.excludeConnectionIds.map((F)=>`'${XJ(F)}'`).join(",");X.push(`connection_id NOT IN (${$})`)}if(Y.virtualMcpId)X.push(`virtual_mcp_id = '${XJ(Y.virtualMcpId)}'`);if(Y.toolName)X.push(`tool_name = '${XJ(Y.toolName)}'`);if(Y.isError!==void 0)X.push(`is_error = ${Y.isError?1:0}`);if(Y.startDate)X.push(c_1(Y.startDate));if(Y.endDate)X.push(p_1(Y.endDate));if(Y.propertyFilters)X.push(...SZ6(Y.propertyFilters));let J=1000,G=Math.min(Math.max(1,Math.floor(Y.limit??50)),J),W=Math.max(0,Math.floor(Y.offset??0)),Z=`SELECT *, count(*) OVER () AS _total FROM ${this.source} WHERE ${X.join(" AND ")} ORDER BY timestamp DESC LIMIT ${G} OFFSET ${W}`,K=await this.engine.query(Z);if(K.length===0)return{logs:[],total:0};let Q=Number(K[0]._total??0);return{logs:K.map($J8),total:Q}}async getStats(Y){if(!Y.organizationId)throw Error("organizationId is required");let X=[`organization_id = '${XJ(Y.organizationId)}'`];if(Y.startDate)X.push(c_1(Y.startDate));if(Y.endDate)X.push(p_1(Y.endDate));let J=`SELECT count(*) AS total_calls, coalesce(sum(CASE WHEN is_error = 1 THEN 1.0 ELSE 0.0 END) / NULLIF(count(*), 0), 0) AS error_rate, coalesce(avg(duration_ms), 0) AS avg_duration_ms FROM ${this.source} WHERE ${X.join(" AND ")}`,W=(await this.engine.query(J))[0]??{};return{totalCalls:Number(W.total_calls??0),errorRate:Number(W.error_rate??0),avgDurationMs:Number(W.avg_duration_ms??0)}}async aggregate(Y){if(!Y.organizationId)throw Error("organizationId is required");let X=m_1(Y.path),J=Y.from==="input"?"input":"output",G=l_1(X),W=Y.aggregation==="count"||Y.aggregation==="count_all"?"1":`JSONExtractFloat(${J}, ${G})`,Z=FJ8(Y.aggregation,W),K=[`organization_id = '${XJ(Y.organizationId)}'`];if(Y.aggregation==="count")K.push(`JSONExtractString(${J}, ${G}) IS NOT NULL`),K.push(`JSONExtractString(${J}, ${G}) != ''`);if(Y.aggregation!=="count"&&Y.aggregation!=="count_all")K.push(`JSONExtractString(${J}, ${G}) IS NOT NULL`),K.push(`JSONExtractString(${J}, ${G}) != ''`);K.push(...IZ6(Y.filters));let Q=K.join(" AND "),H=Math.min(Math.max(1,Math.floor(Y.limit??1e4)),1e4);if(Y.groupByColumn){let V=GJ8(Y.groupByColumn),z=`SELECT ${V} AS group_key, ${Z} AS value FROM ${this.source} WHERE ${Q} GROUP BY ${V} ORDER BY value DESC LIMIT ${H}`;return{value:null,groups:(await this.engine.query(z)).map((q)=>({key:String(q.group_key??""),value:Number(q.value??0)}))}}if(Y.groupBy){let V=m_1(Y.groupBy),z=Y.from==="input"?"input":"output",U=l_1(V),q=`JSONExtractString(${z}, ${U})`,D=`SELECT ${q} AS group_key, ${Z} AS value FROM ${this.source} WHERE ${Q} AND ${q} != '' GROUP BY ${q} ORDER BY value DESC LIMIT ${H}`;return{value:null,groups:(await this.engine.query(D)).map((w)=>({key:String(w.group_key??""),value:Number(w.value??0)}))}}if(Y.interval){let z=`SELECT ${HJ8(Y.interval)} AS bucket, ${Z} AS value FROM ${this.source} WHERE ${Q} GROUP BY bucket ORDER BY bucket ASC LIMIT ${H}`;return{value:null,timeseries:(await this.engine.query(z)).map((q)=>({timestamp:String(q.bucket??""),value:Number(q.value??0)}))}}let $=`SELECT ${Z} AS value FROM ${this.source} WHERE ${Q}`,F=await this.engine.query($);return{value:Number(F[0]?.value??0)}}async countMatched(Y){if(!Y.organizationId)throw Error("organizationId is required");let X=m_1(Y.path),J=Y.from==="input"?"input":"output",G=l_1(X),W=[`organization_id = '${XJ(Y.organizationId)}'`,`JSONExtractString(${J}, ${G}) IS NOT NULL`,`JSONExtractString(${J}, ${G}) != ''`];W.push(...IZ6(Y.filters));let Z=`SELECT count(*) AS cnt FROM ${this.source} WHERE ${W.join(" AND ")}`,K=await this.engine.query(Z);return Number(K[0]?.cnt??0)}}function FJ8(Y,X){switch(Y){case"sum":return`coalesce(sum(${X}), 0)`;case"avg":return`coalesce(avg(${X}), 0)`;case"min":return`min(${X})`;case"max":return`max(${X})`;case"count":return"count(*)";case"count_all":return"count(*)";case"last":return`argMax(${X}, timestamp)`;default:throw Error(`Unknown aggregation function: ${Y}`)}}fV();import{resolve as BW8}from"path";class _K6{chdb;constructor(){try{this.chdb=vZ6()}catch(Y){throw Error("chdb native module not available. Install with: bun add chdb",{cause:Y})}}async query(Y){let X=this.chdb.query(Y,"JSONEachRow");if(!X||!X.trim())return[];return X.trim().split(`
|
|
1849
1849
|
`).map((J)=>JSON.parse(J))}async destroy(){}}class vK6{client;initPromise;constructor(Y){this.initPromise=Promise.resolve().then(() => f4(kK6(),1)).then(({createClient:X})=>{this.client=X({url:Y})})}async query(Y,X){return await this.initPromise,await(await this.client.query({query:Y,query_params:X,format:"JSONEachRow"})).json()}async destroy(){await this.initPromise,await this.client.close()}}var DW8="monitoring_logs";class fK6{warned=!1;async query(){if(!this.warned)this.warned=!0,console.warn(`
|
|
1850
1850
|
\u26A0\uFE0F WARNING: Monitoring query skipped \u2014 chdb native module is not available.
|
|
1851
1851
|
`+" Monitoring data exists on disk but cannot be queried.\n Fix: run `bun add chdb` in apps/mesh/ to install the native module.\n");return[]}}function yK6(Y){if(Y.clickhouseUrl)return{engine:new vK6(Y.clickhouseUrl),source:Y.tableName??DW8};let X=Y.basePath??hq,J=BW8(X);if(/[';]/.test(J))throw Error(`Invalid monitoring data path: ${J}`);try{return{engine:new _K6,source:`file('${J}/**/*.ndjson', 'JSONEachRow')`}}catch(G){return console.warn(`
|