@decocms/mesh 2.142.0 → 2.143.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (211) hide show
  1. package/dist/client/assets/{AlertCircle-Zx531KAn.js → AlertCircle-C33JEKEq.js} +1 -1
  2. package/dist/client/assets/{AlignLeft-CGBbKVHK.js → AlignLeft-REGjRwBJ.js} +1 -1
  3. package/dist/client/assets/{ArrowDown-BX-IIy5w.js → ArrowDown-aOFcd1rD.js} +1 -1
  4. package/dist/client/assets/{ArrowLeft-D4dc0UBb.js → ArrowLeft-6J-waWbb.js} +1 -1
  5. package/dist/client/assets/{ArrowUp-dcB4aDLZ.js → ArrowUp-DHX-mOU2.js} +1 -1
  6. package/dist/client/assets/{Check-DXoRcZpn.js → Check-BQYRNFNB.js} +1 -1
  7. package/dist/client/assets/{CheckCircle-BP8hgPfe.js → CheckCircle-BspahUp0.js} +1 -1
  8. package/dist/client/assets/{CheckDone01-ca6APAHc.js → CheckDone01-CKFgRwhA.js} +1 -1
  9. package/dist/client/assets/{CheckVerified02-C_Ewexdw.js → CheckVerified02-BNn37Me9.js} +1 -1
  10. package/dist/client/assets/{ChevronDown-D04Buvau.js → ChevronDown-1tcTabrX.js} +1 -1
  11. package/dist/client/assets/{ChevronLeft-C8cqrSli.js → ChevronLeft-Bj3ue1eK.js} +1 -1
  12. package/dist/client/assets/{ChevronRight-CkAAxLvD.js → ChevronRight-DhQpCpKK.js} +1 -1
  13. package/dist/client/assets/{Clock-DwwOuQI4.js → Clock-C30Ff6vt.js} +1 -1
  14. package/dist/client/assets/{Code01-BLJKgev-.js → Code01-CycseZkv.js} +1 -1
  15. package/dist/client/assets/{Container-CSl1es2V.js → Container-BU5QPEDW.js} +1 -1
  16. package/dist/client/assets/{Copy01-B4eRdmVC.js → Copy01-Bub_iK1k.js} +1 -1
  17. package/dist/client/assets/{Dataflow03-SiitV-oV.js → Dataflow03-CP3uRpJJ.js} +1 -1
  18. package/dist/client/assets/{DotsHorizontal-DzRIJPXY.js → DotsHorizontal-BCdQOVe0.js} +1 -1
  19. package/dist/client/assets/{DotsVertical-B6bpYQLL.js → DotsVertical-BSoYRiIr.js} +1 -1
  20. package/dist/client/assets/{Download01-DDnPOFFT.js → Download01-DYjfgXnI.js} +1 -1
  21. package/dist/client/assets/{Edit01-CoWrVJPj.js → Edit01-BIUDv_si.js} +1 -1
  22. package/dist/client/assets/{Edit05-BUQBpzoO.js → Edit05-B3UbFiYN.js} +1 -1
  23. package/dist/client/assets/{Eye-DNSEDYe8.js → Eye-CJ0GO8QL.js} +1 -1
  24. package/dist/client/assets/{File02-BXS3LEA8.js → File02-CJJT1Lsy.js} +1 -1
  25. package/dist/client/assets/{File06-h52WT7aG.js → File06-BzTcP1fd.js} +1 -1
  26. package/dist/client/assets/{FilterLines-CsjQLyQm.js → FilterLines-CgDlJMHC.js} +1 -1
  27. package/dist/client/assets/{Globe01-CSEqx1SJ.js → Globe01-pQgT6Pgy.js} +1 -1
  28. package/dist/client/assets/{Globe02-YyAAQROb.js → Globe02-DK-nDQII.js} +1 -1
  29. package/dist/client/assets/{Grid01-Ju9gLjOW.js → Grid01-Cv6nD-bp.js} +1 -1
  30. package/dist/client/assets/{Hash02-TG1GIkeV.js → Hash02-2uEkY5na.js} +1 -1
  31. package/dist/client/assets/{Home02-TzIRlDMK.js → Home02-Cuswvl5N.js} +1 -1
  32. package/dist/client/assets/{Image01-PGP5Jz22.js → Image01-_ugWt3d2.js} +1 -1
  33. package/dist/client/assets/{Inbox01-CjHNjCjB.js → Inbox01-B0oK7RI9.js} +1 -1
  34. package/dist/client/assets/{InfoCircle-CVW6wgFf.js → InfoCircle-WmJgMXWS.js} +1 -1
  35. package/dist/client/assets/{Key01-9PzzeBlc.js → Key01-DW6fqfWo.js} +1 -1
  36. package/dist/client/assets/{LayersTwo01-XOG8qRvr.js → LayersTwo01-BcA1LBal.js} +1 -1
  37. package/dist/client/assets/{LayoutLeft-BcthWHLG.js → LayoutLeft-B9EmI1if.js} +1 -1
  38. package/dist/client/assets/{Link01-2BHrruNj.js → Link01-BnhQ6HaU.js} +1 -1
  39. package/dist/client/assets/{LinkExternal01-CxAidvQ-.js → LinkExternal01-DYtAatm2.js} +1 -1
  40. package/dist/client/assets/{List-Bj4VjFJ6.js → List-BFACCNRk.js} +1 -1
  41. package/dist/client/assets/{Loading01-DF5pxnn8.js → Loading01-B8ixav8o.js} +1 -1
  42. package/dist/client/assets/{Lock01-CPqKu_Mb.js → Lock01-BOdqI63W.js} +1 -1
  43. package/dist/client/assets/{Play-CUMfSU-t.js → Play-CEbM08S_.js} +1 -1
  44. package/dist/client/assets/{Plus-CEtl-Eq7.js → Plus-D4t5EG83.js} +1 -1
  45. package/dist/client/assets/{RefreshCcw01-Bcbx9L0j.js → RefreshCcw01-CCgnRJd5.js} +1 -1
  46. package/dist/client/assets/{Save01-BtoFb1Cg.js → Save01-DynhEPAB.js} +1 -1
  47. package/dist/client/assets/{SearchMd-u1QGwQkU.js → SearchMd-B8KV3nui.js} +1 -1
  48. package/dist/client/assets/{Settings01-C1oZxROY.js → Settings01-BdGMn6lJ.js} +1 -1
  49. package/dist/client/assets/{Shield01-DoZAYqqP.js → Shield01-CpBrW2km.js} +1 -1
  50. package/dist/client/assets/{Terminal-DobKmqGm.js → Terminal-fmXnrrqs.js} +1 -1
  51. package/dist/client/assets/{Trash01-c47UOodj.js → Trash01-_Tzcparm.js} +1 -1
  52. package/dist/client/assets/{Upload01-C3K15n1N.js → Upload01-DtqvlWBL.js} +1 -1
  53. package/dist/client/assets/{Users03-Z0r1cCGf.js → Users03-Z1ByU7gs.js} +1 -1
  54. package/dist/client/assets/{X-CT_P09q2.js → X-DUw9p4mH.js} +1 -1
  55. package/dist/client/assets/{XCircle-BNAlXeL2.js → XCircle-B8o5NZjk.js} +1 -1
  56. package/dist/client/assets/{XClose-BIpOBHWg.js → XClose-DuxEOCv_.js} +1 -1
  57. package/dist/client/assets/{Zap-BYVebEYM.js → Zap-Bfu3dNEc.js} +1 -1
  58. package/dist/client/assets/{agent-connections-preview-B76ZYrs2.js → agent-connections-preview-K7AOWu8a.js} +1 -1
  59. package/dist/client/assets/agent-detail-C94NpUEI.js +2 -0
  60. package/dist/client/assets/{agents-avEyjtsq.js → agents-BSKLOaMu.js} +1 -1
  61. package/dist/client/assets/{alert-dialog-DXvhyacf.js → alert-dialog-DaXpWdw0.js} +2 -2
  62. package/dist/client/assets/{auth-catchall-FvylLzD9.js → auth-catchall-COBLdahK.js} +1 -1
  63. package/dist/client/assets/{avatar-DGDgNwX-.js → avatar-Ci3kAkCl.js} +1 -1
  64. package/dist/client/assets/{badge-DtcA_2rB.js → badge-Bjvc5XIA.js} +1 -1
  65. package/dist/client/assets/{binder-CaZ6b20X.js → binder-D8s-h8oe.js} +1 -1
  66. package/dist/client/assets/{breadcrumb-DPLSdTx1.js → breadcrumb-mjrAJ44V.js} +1 -1
  67. package/dist/client/assets/{card-Bz05CYUR.js → card-DFLwXVkm.js} +1 -1
  68. package/dist/client/assets/{chart-DYrz9LTc.js → chart-qGX5OGhH.js} +1 -1
  69. package/dist/client/assets/{checkbox-JiwlvimE.js → checkbox-YMBbuKOZ.js} +1 -1
  70. package/dist/client/assets/{circle-alert-CtnOwoV2.js → circle-alert-DGdpKWGk.js} +1 -1
  71. package/dist/client/assets/collapsible-CxJfsyMO.js +23 -0
  72. package/dist/client/assets/{collection-detail-CBGjxXPP.js → collection-detail-DVcCqR3z.js} +2 -2
  73. package/dist/client/assets/{collection-display-button-CXc-TgEJ.js → collection-display-button-BxbTqYSq.js} +1 -1
  74. package/dist/client/assets/{collection-search-Dl5JvsI0.js → collection-search-C_6fMPfN.js} +1 -1
  75. package/dist/client/assets/{collection-tab-BlE4CTwD.js → collection-tab-Bh2VOYGp.js} +1 -1
  76. package/dist/client/assets/{collection-table-wrapper-eN4uWzLn.js → collection-table-wrapper-COmJ-B8Q.js} +1 -1
  77. package/dist/client/assets/{collection-tabs-CK4RWFd-.js → collection-tabs-DQrbo9Ay.js} +1 -1
  78. package/dist/client/assets/{command-BzF9LDzy.js → command-B1HOWPFt.js} +1 -1
  79. package/dist/client/assets/{connect-B1CrEofK.js → connect-CpLI2s8J.js} +1 -1
  80. package/dist/client/assets/{connection-card-CC22E-3G.js → connection-card-JlUaDjOw.js} +1 -1
  81. package/dist/client/assets/connection-detail-C_SdT5ck.js +1 -0
  82. package/dist/client/assets/{connection-status-B1K3m1_w.js → connection-status-8Ht5iRaJ.js} +1 -1
  83. package/dist/client/assets/{connections-BuggzhbD.js → connections-DeEqc0GM.js} +1 -1
  84. package/dist/client/assets/constants-BSa33005.js +1 -0
  85. package/dist/client/assets/{constants-CRvMLa9p.js → constants-Bbw6jN_V.js} +1 -1
  86. package/dist/client/assets/{create-organization-dialog-DIZjTiis.js → create-organization-dialog-V-msF1Jz.js} +1 -1
  87. package/dist/client/assets/{create-project-dialog-Dut0dyR9.js → create-project-dialog-DaBc1e0V.js} +1 -1
  88. package/dist/client/assets/{danger-Dare7pC6.js → danger-BTw0q1dL.js} +1 -1
  89. package/dist/client/assets/{danger-zone-_BODcOmd.js → danger-zone-CROdw5xZ.js} +1 -1
  90. package/dist/client/assets/{decopilot-events-bTg09qGr.js → decopilot-events-CkaAIkUJ.js} +1 -1
  91. package/dist/client/assets/{dependencies-BT9TgTWZ.js → dependencies-mZgEmBs1.js} +1 -1
  92. package/dist/client/assets/{dialog-DSCIUn11.js → dialog-DP7DY4yr.js} +1 -1
  93. package/dist/client/assets/dropdown-menu-C6kuYZ7_.js +1 -0
  94. package/dist/client/assets/{dynamic-plugin-layout-CXCsSgRX.js → dynamic-plugin-layout-CjkQri2q.js} +1 -1
  95. package/dist/client/assets/{editable-task-title-DKlfwqLm.js → editable-task-title-C0JEoPnJ.js} +1 -1
  96. package/dist/client/assets/{empty-state-C64F3xDv.js → empty-state-DClv5r7C.js} +1 -1
  97. package/dist/client/assets/{env-vars-editor-ClFO22Eh.js → env-vars-editor-zacGIDRP.js} +1 -1
  98. package/dist/client/assets/{extract-connection-data-CrY_sL6W.js → extract-connection-data-BZQA712X.js} +1 -1
  99. package/dist/client/assets/{file-browser-DSHBHgjG.js → file-browser-BMpcvnxm.js} +2 -2
  100. package/dist/client/assets/{form-CVLoDgzL.js → form-CCy4OYZh.js} +1 -1
  101. package/dist/client/assets/{general-CYKgldaV.js → general-DsCslUFr.js} +1 -1
  102. package/dist/client/assets/{grid-view-DvrbtUer.js → grid-view-BJN_C_nJ.js} +1 -1
  103. package/dist/client/assets/{home-BuzXHaZj.js → home-ZNtjrtnf.js} +1 -1
  104. package/dist/client/assets/{icon-picker-5LH0UiWF.js → icon-picker-DBuQoDjt.js} +1 -1
  105. package/dist/client/assets/index-4jzw9CYj.js +25 -0
  106. package/dist/client/assets/{index-jBnBTTB0.js → index-5xKQyQZE.js} +1 -1
  107. package/dist/client/assets/{index-BCf_VMXY.js → index-BwnxEimb.js} +1 -1
  108. package/dist/client/assets/{index-6Z25-w5a.js → index-CEKEKIun.js} +1 -1
  109. package/dist/client/assets/{index-CoyJj2VR.js → index-CdiDGOKq.js} +50 -50
  110. package/dist/client/assets/{index-A_CnuSis.js → index-CuGOLHld.js} +1 -1
  111. package/dist/client/assets/{index-Co1xrsbj.js → index-Dig2D0kL.js} +1 -1
  112. package/dist/client/assets/{index-B7Bu7nQ7.js → index-Dw9bGcxk.js} +1 -1
  113. package/dist/client/assets/{index-KAycGEnT.js → index-WgRy4XEz.js} +28 -28
  114. package/dist/client/assets/{infiniteQueryObserver-DctmDFEe.js → infiniteQueryObserver-6Sv1mY48.js} +1 -1
  115. package/dist/client/assets/{input-s8rw5Kfa.js → input-BJJ-HZyT.js} +1 -1
  116. package/dist/client/assets/{integration-icon-BAlg7muO.js → integration-icon-R2eYJYHC.js} +1 -1
  117. package/dist/client/assets/{label-lqq4AMOf.js → label-meKA8koQ.js} +1 -1
  118. package/dist/client/assets/{layout-BdJDt40T.js → layout-CIWWZ1ER.js} +1 -1
  119. package/dist/client/assets/{layout-CaxeqVAE.js → layout-Cny1vUWb.js} +1 -1
  120. package/dist/client/assets/{localstorage-keys-DK1Id_ip.js → localstorage-keys-BUkugh6_.js} +1 -1
  121. package/dist/client/assets/{login--Bk_liKs.js → login-Dov4Ln-t.js} +1 -1
  122. package/dist/client/assets/{markdown-HCjujTl2.js → markdown-DdHbXzu-.js} +1 -1
  123. package/dist/client/assets/{mcp-app-renderer-Bconp3w4.js → mcp-app-renderer-PyxYtSmQ.js} +1 -1
  124. package/dist/client/assets/{mcp-oauth-DcSxwlYK.js → mcp-oauth-BUdDcINO.js} +1 -1
  125. package/dist/client/assets/{mcp-server-card-B0UwO4c6.js → mcp-server-card-wnDYG_0O.js} +1 -1
  126. package/dist/client/assets/{mcp-server-detail-zb689o0t.js → mcp-server-detail-CAZe7uN6.js} +2 -2
  127. package/dist/client/assets/{members-A9Co33Fe.js → members-H_aHt8EH.js} +1 -1
  128. package/dist/client/assets/{monaco-editor-BGkR3-IA.js → monaco-editor-CYn377dR.js} +4 -4
  129. package/dist/client/assets/{monitoring-DtdfvOM5.js → monitoring-IVWnDVEz.js} +1 -1
  130. package/dist/client/assets/{monitoring-dashboard-edit-GWWMfh0m.js → monitoring-dashboard-edit--p_6gE6M.js} +1 -1
  131. package/dist/client/assets/{monitoring-dashboard-view-Cm896dO-.js → monitoring-dashboard-view-pfH_ninA.js} +2 -2
  132. package/dist/client/assets/{oauth-callback-BSGOfJmL.js → oauth-callback-BBfWFUEO.js} +1 -1
  133. package/dist/client/assets/{page-PU0vqAHP.js → page-CcB9pt8_.js} +1 -1
  134. package/dist/client/assets/page-CsXX8k6j.js +1 -0
  135. package/dist/client/assets/{plugin-empty-state-CNAE295F.js → plugin-empty-state-BXGv0GDx.js} +1 -1
  136. package/dist/client/assets/{plugin-empty-state-BdIJtKhO.js → plugin-empty-state-PHb3h5Mu.js} +1 -1
  137. package/dist/client/assets/{plugin-header-C3hBljo3.js → plugin-header-BbwqgGs3.js} +1 -1
  138. package/dist/client/assets/{plugin-header-BO6BGJC7.js → plugin-header-Bn5QWmGt.js} +1 -1
  139. package/dist/client/assets/plugins-rCmASNpc.js +1 -0
  140. package/dist/client/assets/{popover-DSO1tjgf.js → popover-BSwvSWKq.js} +1 -1
  141. package/dist/client/assets/{project-app-view-DEVHaVoM.js → project-app-view-CU4S5SVV.js} +1 -1
  142. package/dist/client/assets/{project-layout-BZqAcTC3.js → project-layout-D2s_-ed-.js} +1 -1
  143. package/dist/client/assets/{project-plugins-DkIXV878.js → project-plugins-CFsL8fat.js} +1 -1
  144. package/dist/client/assets/{projects-list-DD9bayAR.js → projects-list-BwshQdVA.js} +1 -1
  145. package/dist/client/assets/{readme-viewer-DEgSduvy.js → readme-viewer-BKWT3e1y.js} +1 -1
  146. package/dist/client/assets/{registry-layout-BbOZb50w.js → registry-layout-DVHyhv6u.js} +1 -1
  147. package/dist/client/assets/{registry-utils-BJRD11-o.js → registry-utils-DwrfZsML.js} +1 -1
  148. package/dist/client/assets/{reports-layout-0fvVXIA9.js → reports-layout-CRWz25vV.js} +1 -1
  149. package/dist/client/assets/{reset-password-BBFIx6IU.js → reset-password-DwDCI2Lt.js} +1 -1
  150. package/dist/client/assets/{resizable-FDnvuXI8.js → resizable-CuAJwpCE.js} +1 -1
  151. package/dist/client/assets/{save-actions-BrexEzhw.js → save-actions-DSOaJsEB.js} +1 -1
  152. package/dist/client/assets/{scroll-area-BoIKmmj_.js → scroll-area-DFSZEFGu.js} +1 -1
  153. package/dist/client/assets/{select-XWfX294J.js → select-D5UCIms-.js} +1 -1
  154. package/dist/client/assets/shell-layout-Bi6EGRx-.js +3 -0
  155. package/dist/client/assets/{sidebar-settings-CYnkTQwX.js → sidebar-settings-Ens_v1-3.js} +1 -1
  156. package/dist/client/assets/{skeleton-l9u4bmPQ.js → skeleton-DJ9ksHdo.js} +1 -1
  157. package/dist/client/assets/{spinner-CQhhuHCn.js → spinner-C_jBik6U.js} +1 -1
  158. package/dist/client/assets/{store-invite-QKjyJOdx.js → store-invite-B4x6yCxM.js} +1 -1
  159. package/dist/client/assets/{switch-BTH5DtNC.js → switch-CHDqnzpR.js} +1 -1
  160. package/dist/client/assets/{table-CObvzzoK.js → table-KeNwDMbd.js} +1 -1
  161. package/dist/client/assets/{tabs-B62zcrrU.js → tabs-BWF5GtqN.js} +1 -1
  162. package/dist/client/assets/tasks-B4Nf2WMJ.js +1 -0
  163. package/dist/client/assets/tasks-panel-F9MkKd8u.js +1 -0
  164. package/dist/client/assets/{textarea-CKFVaVym.js → textarea-BbLT_f8Z.js} +1 -1
  165. package/dist/client/assets/{time-range-picker-C2BX3Ytm.js → time-range-picker-D8n6QptR.js} +1 -1
  166. package/dist/client/assets/{toggle-group-BWymC1w6.js → toggle-group-CGeB8kMK.js} +1 -1
  167. package/dist/client/assets/{tools-list-CBKDjlC9.js → tools-list-B15drLS3.js} +1 -1
  168. package/dist/client/assets/{tooltip-BD36KVkP.js → tooltip-Babiaq0d.js} +1 -1
  169. package/dist/client/assets/{topbar-portal-CyJ7_aXv.js → topbar-portal-Dp4BFYej.js} +1 -1
  170. package/dist/client/assets/{types-CgRNzZIg.js → types-BJf49Mfd.js} +1 -1
  171. package/dist/client/assets/{use-binding-eAl0-ngZ.js → use-binding-CAoXPeYp.js} +1 -1
  172. package/dist/client/assets/{use-collections-ROKIiOzV.js → use-collections-B-x23mni.js} +1 -1
  173. package/dist/client/assets/{use-connection-DWTVYLGI.js → use-connection-CfeJyAqX.js} +1 -1
  174. package/dist/client/assets/{use-copy-Cxp-hpbY.js → use-copy-CMFYl2Ga.js} +1 -1
  175. package/dist/client/assets/{use-create-virtual-mcp-CWXwWPev.js → use-create-virtual-mcp-BQ2vLOYt.js} +1 -1
  176. package/dist/client/assets/{use-install-from-registry-CzqEIQq2.js → use-install-from-registry-D80VT6Ub.js} +1 -1
  177. package/dist/client/assets/{use-list-state-cW6KZE3t.js → use-list-state-D-tKxlpi.js} +1 -1
  178. package/dist/client/assets/{use-llm-D0wV35M9.js → use-llm-BMRIZw-b.js} +1 -1
  179. package/dist/client/assets/{use-mcp-resources-BTKxmEpv.js → use-mcp-resources-7Fl5_HS_.js} +1 -1
  180. package/dist/client/assets/{use-mcp-tools-DkmUq8XI.js → use-mcp-tools-Bj_Ri2bf.js} +1 -1
  181. package/dist/client/assets/{use-members-Bksy3767.js → use-members-TEDVnI8Z.js} +1 -1
  182. package/dist/client/assets/{use-mobile-C7Xn-ZVB.js → use-mobile-PmmG7UNI.js} +1 -1
  183. package/dist/client/assets/{use-project-BZjOe5ok.js → use-project-IWwy_h7S.js} +1 -1
  184. package/dist/client/assets/{use-settings-modal-BpLqrFwi.js → use-settings-modal-C4b8mb1A.js} +1 -1
  185. package/dist/client/assets/{use-view-mode-DxCF7P6S.js → use-view-mode-DT0UZS0w.js} +1 -1
  186. package/dist/client/assets/{use-virtual-mcp-DrNWNgvb.js → use-virtual-mcp-DXNTpzcv.js} +1 -1
  187. package/dist/client/assets/useInfiniteQuery-D2ydKX7z.js +1 -0
  188. package/dist/client/assets/{useMutation-Ctk5b8uR.js → useMutation-DmgIjz65.js} +1 -1
  189. package/dist/client/assets/useQuery-C48kdbmo.js +1 -0
  190. package/dist/client/assets/useSuspenseInfiniteQuery-Dk_AfHIX.js +1 -0
  191. package/dist/client/assets/{user-BU3jjBpz.js → user-DC5rs3GH.js} +1 -1
  192. package/dist/client/assets/{workflow-BNkb2XNC.js → workflow-DaR6d6tq.js} +1 -1
  193. package/dist/client/index.html +1 -1
  194. package/dist/server/cli.js +181 -181
  195. package/dist/server/migrate.js +1 -1
  196. package/dist/server/server.js +167 -167
  197. package/package.json +1 -1
  198. package/dist/client/assets/agent-detail-ean34cyZ.js +0 -2
  199. package/dist/client/assets/collapsible-Dz6kdDQx.js +0 -23
  200. package/dist/client/assets/connection-detail-B-ICGeJ4.js +0 -1
  201. package/dist/client/assets/constants-I25hmjxi.js +0 -1
  202. package/dist/client/assets/dropdown-menu-DMgECNP1.js +0 -1
  203. package/dist/client/assets/index-Cg5VAr11.js +0 -25
  204. package/dist/client/assets/page-BjfHsKND.js +0 -1
  205. package/dist/client/assets/plugins-BttmmeIz.js +0 -1
  206. package/dist/client/assets/shell-layout-CfqRN6gC.js +0 -3
  207. package/dist/client/assets/tasks-DBMv6koR.js +0 -1
  208. package/dist/client/assets/tasks-panel-jUSk_q_P.js +0 -1
  209. package/dist/client/assets/useInfiniteQuery-Clfr9I7T.js +0 -1
  210. package/dist/client/assets/useQuery-DCrAUBx5.js +0 -1
  211. package/dist/client/assets/useSuspenseInfiniteQuery-CG43fx0v.js +0 -1
@@ -1959,7 +1959,7 @@ ${X.stack}`;return W}}catch{}if(typeof X.toString==="function")try{let W=X.toStr
1959
1959
  };
1960
1960
  `,F=await vu({code:H,tools:K,timeoutMs:30000});if(F.error)return{content:[{type:"text",text:`Virtual tool error: ${F.error}`}],isError:!0};return{content:[{type:"text",text:JSON.stringify(F.returnValue??null)}]}}catch(Z){return{content:[{type:"text",text:`Virtual tool execution failed: ${Z instanceof Error?Z.message:String(Z)}`}],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 Q=await this.callTool({name:Y,arguments:X});return new Response(JSON.stringify(Q),{headers:{"Content-Type":"application/json"}})}async[Symbol.asyncDispose](){await dQ6(this._clients)}async close(){await dQ6(this._clients),await super.close()}getInstructions(){return this.options.virtualMcp.metadata?.instructions??void 0}}});var cQ6,DG8,pQ6,BG8,lu;var wk1=f(()=>{y0();_A();Ok1();cQ6=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")}),DG8=B.toJSONSchema(cQ6),pQ6=B.object({tools:B.array(B.string()).min(1).describe("Array of tool names to get detailed schemas for")}),BG8=B.toJSONSchema(pQ6);lu=class lu extends Hj{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:DG8,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:BG8,annotations:{title:"Describe Tools",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1}}}async handleSearch(Y){let X=cQ6.safeParse(Y);if(!X.success)return bL({error:X.error.flatten()});let J=await this._cachedTools,G=HU(J.data),W=zY1(X.data.query,G,X.data.limit);return yu({query:X.data.query,results:W.map((Q)=>({name:Q.name,description:Q.description,connection:Q._meta.connectionTitle})),totalAvailable:G.length})}async handleDescribe(Y){let X=pQ6.safeParse(Y);if(!X.success)return bL({error:X.error.flatten()});let J=await this._cachedTools,G=HU(J.data),W=UY1(X.data.tools,G);return yu({tools:W.tools,notFound:W.notFound})}async listTools(){let Y=await this._cachedTools,X=HU(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 Hj.prototype.callTool.call(this,Y)}}});var nQ6,LG8,Ak1;var iQ6=f(()=>{y0();_A();wk1();nQ6=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).")}),LG8=B.toJSONSchema(nQ6);Ak1=class Ak1 extends lu{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:LG8,annotations:{title:"Run Code",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!0}}}async handleRunCode(Y){let X=nQ6.safeParse(Y);if(!X.success)return bL({error:X.error.flatten()});let J=await this._cachedTools,W={tools:HU(J.data),callTool:async(K,Z)=>{return this.routeToolCall({name:K,arguments:Z})}},Q=await DY1(X.data.code,W,X.data.timeoutMs);if(Q.error)return bL(Q);return yu(Q)}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 rQ6(Y){let X=Y.slice().sort().join(","),J=aQ6.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)},aQ6.set(X,J)}return J}var aQ6,Pk1;var oQ6=f(()=>{y0();_A();wk1();aQ6=new Map;Pk1=class Pk1 extends lu{constructor(Y,X){super(Y,X)}async getCallTool(){let Y=await this._cachedTools,J=HU(Y.data).map((W)=>W.name),{jsonSchema:G}=rQ6(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=HU(X.data),G=J.map((F)=>F.name),{schema:W}=rQ6(G),Q=W.safeParse(Y);if(!Q.success)return bL({error:Q.error.flatten()});let{name:K,arguments:Z}=Q.data;if(!new Map(J.map((F)=>[F.name,F])).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:Z})}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 OG8(Y,X){if(Y.connection_type!=="VIRTUAL")return!1;if(!X||KN(X))return!1;return Y.id===X}async function sQ6(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 NG8(W,X,"passthrough",J)}async function NG8(Y,X,J,G=!1){let Q=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,Z=await Promise.all(Q),H=[];if(K?.tools){for(let V of K.tools)if(uQ6(V))H.push(V)}let $={connections:Z.filter((V)=>V!==null&&V.status==="active"&&!OG8(V,Y.id)),virtualMcp:Y,virtualTools:H.length>0?H:void 0,superUser:G};return J==="smart_tool_selection"?new Pk1($,X):J==="code_execution"?new Ak1($,X):new Hj($,X)}var tQ6=f(()=>{nX();gL();iQ6();Ok1();oQ6()});async function Fj(Y,X,J=!1){if(Y.connection_type==="VIRTUAL")return sQ6(Y,X,J);return hQ6(Y,X,J)}var Ek1=f(()=>{bQ6();tQ6()});var eQ6=f(()=>{nX();B7();Ek1();Lk1()});function MG8(Y,X,J){return async(G,W)=>{try{let Q=G.params.name,K=async()=>{let{tools:H}=await J();return H.find(($)=>$.name===Q)?._meta};return await new mu(Y.authInstance,Y.auth.user?.id??Y.auth.apiKey?.userId,Q,Y.boundAuth,Y.auth.user?.role,X,K).check(Q),await W()}catch(Q){return new Response(JSON.stringify({error:`Authorization failed: ${Q.message}`}),{status:403,headers:{"Content-Type":"application/json"}})}}}function Nk1(Y,X,J,G,W){let Q=async(Z,H)=>{if(J.connection_type==="VIRTUAL"){let z=await Y.callTool({name:Z,arguments:H});return new Response(JSON.stringify(z),{headers:{"Content-Type":"application/json"}})}if(!J.connection_url)throw Error("Streamable tools require HTTP connection with URL");let F=J.connection_url,$={method:"tools/call",params:{name:Z,arguments:H}};if(!W.superUser){let U=await MG8(G,X,Y.listTools.bind(Y))($,async()=>{return new Response});if(!U.ok)return U}let V=G.connectionId&&G.connectionId!==X?G.connectionId:void 0;return vQ6({ctx:G,enabled:A01().enabled,connectionId:X,connectionTitle:J.title,virtualMcpId:V})($,async()=>{let z=await xu(J,G,W.superUser),U=J.connection_headers;if(U&&"headers"in U)Object.assign(z,U.headers);let D=new URL(F);D.pathname=D.pathname.replace(/\/$/,"")+`/call-tool/${$.params.name}`;let O=JSON.parse(JSON.stringify($.params.arguments,(N,P)=>{if(P instanceof AbortSignal)return;if(typeof P==="function"||typeof P==="symbol")return;if(P===void 0)return;return P})),M=JSON.stringify(O);return await G.tracer.startActiveSpan("mcp.proxy.callStreamableTool",{attributes:{"connection.id":X,"tool.name":$.params.name,"request.id":G.metadata.requestId}},async(N)=>{let P=Date.now();try{let A=await fetch(D.toString(),{method:"POST",redirect:"manual",body:M,headers:{...z,"Content-Type":"application/json"}}),R=Date.now()-P;return G.meter.createHistogram("connection.proxy.streamable.duration").record(R,{"connection.id":X,"tool.name":$.params.name,status:A.ok?"success":"error"}),G.meter.createCounter("connection.proxy.streamable.requests").add(1,{"connection.id":X,"tool.name":$.params.name,status:A.ok?"success":"error"}),N.end(),A}catch(A){let R=A,E=Date.now()-P;throw console.error("[with-streaming-support] fetch error",{connectionId:X,toolName:$.params.name,error:R.message,errorStack:R.stack,duration:E}),G.meter.createHistogram("connection.proxy.streamable.duration").record(E,{"connection.id":X,"tool.name":$.params.name,status:"error"}),G.meter.createCounter("connection.proxy.streamable.errors").add(1,{"connection.id":X,"tool.name":$.params.name,error:R.message}),N.recordException(R),N.end(),A}})})},K=Object.assign(Object.create(Object.getPrototypeOf(Y)),Y);return K.callStreamableTool=Q,K}var YZ6=f(()=>{Hk1();$k1();P01();Dk1()});var XZ6=f(()=>{YZ6()});var Mk1=f(()=>{Ek1();eQ6();XZ6()});async function PG8(Y,X,J,G){for(let Q of X){if(Q==="*")continue;let[K]=NQ6(Q),Z=NY1(K,Y);if(Z===void 0||Z===null)throw Error(`Scope references key "${K}" but it's not present in state`)}let W=MQ6(Y,X);for(let Q of W){if(Q.endsWith("_self"))continue;let K=await G.storage.connections.findById(Q);if(!K||K.organization_id!==J)throw Error(`Referenced connection not found: ${Q}`);try{await G.access.check(Q)}catch(Z){throw Error(`Access denied to referenced connection: ${Q}. ${Z.message}`)}}}var wG8,AG8,Tk1;var JZ6=f(()=>{Zk1();Mk1();Kk1();y0();l6();VY1();KU();wG8=B.object({id:B.string().describe("ID of the connection to update"),data:nk.describe("Partial connection data to update")}),AG8=B.object({item:oG.describe("The updated connection entity")});Tk1=v0({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:wG8,outputSchema:AG8,handler:async(Y,X)=>{r0(X);let J=H6(X);await X.access.check();let G=x5(X);if(!G)throw Error("User ID required to update connection");let{id:W,data:Q}=Y,K=await X.storage.connections.findById(W);if(!K||K.organization_id!==J.id)throw Error("Connection not found in organization");let Z=Q.connection_type??K.connection_type,H=Q.connection_url??K.connection_url;if(Z==="VIRTUAL"){let O=HN(H);if(!O)throw Error("VIRTUAL connection requires connection_url in format: virtual://$virtual_mcp_id");let M=await X.storage.virtualMcps.findById(O);if(!M)throw Error(`Virtual MCP not found: ${O}`);if(M.organization_id!==J.id)throw Error("Virtual MCP does not belong to the current organization");H=FN(O)}let F=Q.configuration_state??K.configuration_state??{},$=Q.configuration_scopes??K.configuration_scopes??[];if(Q.configuration_state!==void 0||Q.configuration_scopes!==void 0){if(Q.configuration_state!==void 0)F=Q.configuration_state??{};else if(F===null||F===void 0)F={};if(Q.configuration_scopes!==void 0)$=Q.configuration_scopes??[];if($.length>0)await PG8(F,$,J.id,X)}let V=Q.connection_token??K.connection_token;if(!V)try{let M=await new bu(X.db,X.vault).get(W);if(M?.accessToken)V=M.accessToken}catch{}let q=await eI({id:K.id,title:Q.title??K.title,connection_type:Z,connection_url:H,connection_token:V,connection_headers:Q.connection_headers??K.connection_headers}).catch(()=>null),z=q?.tools?.length?q.tools:null;if(Q.configuration_scopes===void 0&&q?.scopes?.length)$=q.scopes;let U={...Q,connection_url:H,tools:z,configuration_state:F,configuration_scopes:$,updated_by:G},D=await X.storage.connections.update(W,U);if((Q.configuration_state!==void 0||Q.configuration_scopes!==void 0)&&F&&$)try{await(await Fj(D,X,!1)).callTool({name:"ON_MCP_CONFIGURATION",arguments:{state:F,scopes:$}})}catch(O){console.error("Failed to invoke ON_MCP_CONFIGURATION callback",O)}return{item:D}}})});var EG8,Rk1;var GZ6=f(()=>{DQ();y0();l6();KU();EG8=Jy.extend({force:B.boolean().optional().describe("If true, removes this connection from all agents that reference it before deleting")}),Rk1=v0({name:"COLLECTION_CONNECTIONS_DELETE",description:"Delete a connection",annotations:{title:"Delete Connection",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:EG8,outputSchema:Gy(oG),handler:async(Y,X)=>{r0(X);let J=H6(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 Q=await X.storage.virtualMcps.listByConnectionId(J.id,Y.id);if(Q.length>0)if(Y.force)await X.storage.virtualMcps.removeConnectionReferences(Y.id);else throw Error(JSON.stringify({code:"CONNECTION_IN_USE",agentNames:Q.map((K)=>K.title)}));return await X.storage.connections.delete(Y.id),{item:G}}})});var Ck1;var WZ6=f(()=>{y0();l6();Ck1=v0({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=H6(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 QZ6=f(()=>{FQ6();LQ6();OQ6();JZ6();GZ6();WZ6()});function ZZ6(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 CG8(Y,X){let J=Y;for(let W=X.length;W>=1;W--){let Q=`$${W}`;if(J.includes(Q))J=J.replaceAll(Q,ZZ6(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 Q=G[W],K=ZZ6(X[W]);J=J.slice(0,Q)+K+J.slice(Q+1)}return J}function KZ6(Y){return Y.replace(/-/g,"_")}function jG8(Y){return`app_${KZ6(Y)}`}function SG8(Y){return`app_role_${KZ6(Y)}`}function _G8(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 kG8(Y,X,J){if(await N0`CREATE SCHEMA IF NOT EXISTS ${N0.id(X)}`.execute(Y),!(await N0`
1961
1961
  SELECT EXISTS (SELECT 1 FROM pg_roles WHERE rolname = ${J}) as exists
1962
- `.execute(Y)).rows[0]?.exists)await N0`CREATE ROLE ${N0.id(J)} NOLOGIN`.execute(Y);await N0`GRANT ${N0.id(J)} TO CURRENT_USER`.execute(Y),await N0`GRANT USAGE, CREATE ON SCHEMA ${N0.id(X)} TO ${N0.id(J)}`.execute(Y),await N0`GRANT ALL ON ALL TABLES IN SCHEMA ${N0.id(X)} TO ${N0.id(J)}`.execute(Y),await N0`GRANT ALL ON ALL SEQUENCES IN SCHEMA ${N0.id(X)} TO ${N0.id(J)}`.execute(Y),await N0`ALTER DEFAULT PRIVILEGES IN SCHEMA ${N0.id(X)} GRANT ALL ON TABLES TO ${N0.id(J)}`.execute(Y),await N0`ALTER DEFAULT PRIVILEGES IN SCHEMA ${N0.id(X)} GRANT ALL ON SEQUENCES TO ${N0.id(J)}`.execute(Y),await N0`REVOKE ALL ON SCHEMA public FROM ${N0.id(J)}`.execute(Y)}async function vG8(Y,X,J,G){try{return await Y.transaction().execute(async(W)=>{return await N0`SET LOCAL ROLE ${N0.id(J)}`.execute(W),await N0`SET LOCAL search_path TO ${N0.id(X)}`.execute(W),await N0.raw(G).execute(W)})}catch(W){if(_G8(W))return await kG8(Y,X,J),await Y.transaction().execute(async(Q)=>{return await N0`SET LOCAL ROLE ${N0.id(J)}`.execute(Q),await N0`SET LOCAL search_path TO ${N0.id(X)}`.execute(Q),await N0.raw(G).execute(Q)});throw W}}var RG8,IG8,HZ6;var FZ6=f(()=>{N9();y0();l6();RG8=B.object({results:B.array(B.unknown()).optional(),success:B.boolean().optional()});IG8=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()});HZ6=v0({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:IG8,outputSchema:B.object({result:B.array(RG8)}),handler:async(Y,X)=>{r0(X),await X.access.check();let J=CG8(Y.sql,Y.params||[]);if(!X.connectionId)throw Error("Connection context required for database access");let G=jG8(X.connectionId),W=SG8(X.connectionId);return{result:[{results:(await vG8(X.db,G,W,J)).rows,success:!0}]}}})});var $Z6,fG8,VZ6;var $U=f(()=>{y0();Dr();$Z6=B.object({connectionId:B.string().optional().describe("Filter subscriptions by connection ID (optional)")}),fG8=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)")}),VZ6=B.object({subscriptions:B.array(fG8).describe("List of subscriptions")})});var Ik1;var qZ6=f(()=>{l6();$U();Ik1=v0({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:Wy,outputSchema:Qy,handler:async(Y,X)=>{r0(X);let J=H6(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 zZ6=f(()=>{l6();$U();jk1=v0({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:Zy,outputSchema:Ky,handler:async(Y,X)=>{r0(X);let J=H6(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 Sk1;var UZ6=f(()=>{l6();$U();Sk1=v0({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:$y,outputSchema:Vy,handler:async(Y,X)=>{r0(X);let J=H6(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 _k1;var DZ6=f(()=>{l6();$U();_k1=v0({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:qy,outputSchema:zy,handler:async(Y,X)=>{r0(X);let J=H6(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 BZ6=f(()=>{l6();$U();kk1=v0({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:Uy,outputSchema:Dy,handler:async(Y,X)=>{r0(X);let J=H6(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 vk1;var LZ6=f(()=>{l6();$U();vk1=v0({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:$Z6,outputSchema:VZ6,handler:async(Y,X)=>{r0(X);let J=H6(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 yk1;var OZ6=f(()=>{l6();$U();yk1=v0({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:Hy,outputSchema:Fy,handler:async(Y,X)=>{r0(X);let J=H6(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((Q)=>({id:Q.id,connectionId:Q.connectionId,eventType:Q.eventType,publisher:Q.publisher,filter:Q.filter,enabled:Q.enabled,createdAt:Q.createdAt instanceof Date?Q.createdAt.toISOString():Q.createdAt,updatedAt:Q.updatedAt instanceof Date?Q.updatedAt.toISOString():Q.updatedAt}))}}})});var NZ6=f(()=>{qZ6();zZ6();UZ6();DZ6();BZ6();LZ6();OZ6();$U()});var $j=f(()=>{Ii()});function MZ6(){return`/icons/capy-${Math.floor(Math.random()*39)+0}.png`}var bG8,xG8,fk1;var wZ6=f(()=>{y0();l6();$j();bG8=B.object({data:ak.describe("Data for the new virtual MCP")}),xG8=B.object({item:HZ.describe("The created virtual MCP entity")}),fk1=v0({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:bG8,outputSchema:xG8,handler:async(Y,X)=>{r0(X);let J=H6(X);await X.access.check();let G=x5(X);if(!G)throw Error("User ID required to create virtual MCP");let W={...Y.data,icon:Y.data.icon??MZ6()};return{item:await X.storage.virtualMcps.create(J.id,G,W)}}})});function gG8(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 uL(Y){return typeof Y==="string"||typeof Y==="number"}function hk1(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 uG8(Y,X){return Y.connections.some((J)=>J.connection_id===X)}function PY1(Y,X){if("conditions"in X){let{operator:Z,conditions:H}=X;switch(Z){case"and":return H.every((F)=>PY1(Y,F));case"or":return H.some((F)=>PY1(Y,F));case"not":return!H.every((F)=>PY1(Y,F));default:return!0}}let{field:J,operator:G,value:W}=X,Q=J.join(".");if(Q==="connection_id"){if(G!=="eq"||typeof W!=="string")return!1;return uG8(Y,W)}let K=hk1(Y,Q);switch(G){case"eq":return K===W;case"gt":return uL(K)&&uL(W)&&K>W;case"gte":return uL(K)&&uL(W)&&K>=W;case"lt":return uL(K)&&uL(W)&&K<W;case"lte":return uL(K)&&uL(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 Z=gG8(W);return new RegExp(`^${Z}$`,"i").test(K);case"contains":if(typeof K!=="string"||typeof W!=="string")return!1;return K.toLowerCase().includes(W.toLowerCase());default:return!0}}function mG8(Y,X){return[...Y].sort((J,G)=>{for(let W of X){let Q=W.field.join("."),K=hk1(J,Q),Z=hk1(G,Q),H=0;if(K==null&&Z==null)continue;if(K==null)H=W.nulls==="first"?-1:1;else if(Z==null)H=W.nulls==="first"?1:-1;else if(typeof K==="string"&&typeof Z==="string")H=K.localeCompare(Z);else if(typeof K==="number"&&typeof Z==="number")H=K-Z;else H=String(K).localeCompare(String(Z));if(H!==0)return W.direction==="desc"?-H:H}return 0})}var lG8,dG8,bk1;var AZ6=f(()=>{DQ();l6();$j();lG8=wH,dG8=Cq(HZ),bk1=v0({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:lG8,outputSchema:dG8,handler:async(Y,X)=>{await X.access.check();let J=H6(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,Q=G?await X.storage.virtualMcps.listByConnectionId(J.id,G):await X.storage.virtualMcps.list(J.id);if(Y.where)Q=Q.filter((V)=>PY1(V,Y.where));if(Y.orderBy&&Y.orderBy.length>0)Q=mG8(Q,Y.orderBy);let K=Q.length,Z=Y.offset??0,H=Y.limit??100,F=Q.slice(Z,Z+H),$=Z+H<K;return{items:F,totalCount:K,hasMore:$}}})});var cG8,pG8,xk1;var PZ6=f(()=>{y0();l6();$j();cG8=B.object({id:B.string().describe("ID of the virtual MCP to retrieve")}),pG8=B.object({item:HZ.nullable().describe("The retrieved virtual MCP, or null if not found")}),xk1=v0({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:cG8,outputSchema:pG8,handler:async(Y,X)=>{r0(X);let J=H6(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 nG8,iG8,gk1;var EZ6=f(()=>{y0();l6();$j();nG8=B.object({id:B.string().describe("ID of the virtual MCP to update"),data:rk.describe("Partial virtual MCP data to update")}),iG8=B.object({item:HZ.describe("The updated virtual MCP entity")}),gk1=v0({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:nG8,outputSchema:iG8,handler:async(Y,X)=>{r0(X);let J=H6(X);await X.access.check();let G=x5(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 aG8,rG8,uk1;var TZ6=f(()=>{y0();l6();$j();aG8=B.object({id:B.string().describe("ID of the virtual MCP to delete")}),rG8=B.object({item:HZ.describe("The deleted virtual MCP entity")}),uk1=v0({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:aG8,outputSchema:rG8,handler:async(Y,X)=>{r0(X);let J=H6(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 RZ6=f(()=>{wZ6();AZ6();PZ6();EZ6();TZ6()});var sG8,tG8,mk1;var CZ6=f(()=>{y0();l6();gL();sG8=B.object({virtual_mcp_id:B.string().describe("ID of the Virtual MCP to add the tool to"),data:xQ6.describe("Virtual tool data")}),tG8=B.object({item:_V.describe("The created virtual tool")}),mk1=v0({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:sG8,outputSchema:tG8,handler:async(Y,X)=>{r0(X);let J=H6(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 eG8,YW8,lk1;var IZ6=f(()=>{y0();l6();gL();eG8=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")}),YW8=B.object({items:B.array(_V).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")}),lk1=v0({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:eG8,outputSchema:YW8,handler:async(Y,X)=>{r0(X);let J=H6(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),Q=W.length,K=Y.offset??0,Z=Y.limit??100,H=W.slice(K,K+Z),F=K+Z<Q;return{items:H,totalCount:Q,hasMore:F}}})});var XW8,JW8,dk1;var jZ6=f(()=>{y0();l6();gL();XW8=B.object({virtual_mcp_id:B.string().describe("ID of the Virtual MCP"),name:B.string().describe("Name of the virtual tool to retrieve")}),JW8=B.object({item:_V.nullable().describe("The retrieved virtual tool, or null if not found")}),dk1=v0({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:XW8,outputSchema:JW8,handler:async(Y,X)=>{r0(X);let J=H6(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 GW8,WW8,ck1;var SZ6=f(()=>{y0();l6();gL();GW8=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:gQ6.describe("Partial virtual tool data to update")}),WW8=B.object({item:_V.describe("The updated virtual tool")}),ck1=v0({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:GW8,outputSchema:WW8,handler:async(Y,X)=>{r0(X);let J=H6(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 Q=Y.data.connection_dependencies;return{item:await X.storage.virtualMcps.updateVirtualTool(Y.virtual_mcp_id,Y.name,Y.data,Q)}}})});var QW8,ZW8,pk1;var _Z6=f(()=>{y0();l6();gL();QW8=B.object({virtual_mcp_id:B.string().describe("ID of the Virtual MCP"),name:B.string().describe("Name of the virtual tool to delete")}),ZW8=B.object({item:_V.describe("The deleted virtual tool")}),pk1=v0({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:QW8,outputSchema:ZW8,handler:async(Y,X)=>{r0(X);let J=H6(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 kZ6=f(()=>{CZ6();IZ6();jZ6();SZ6();_Z6()});var HW8,nk1;var vZ6=f(()=>{l6();y0();HW8=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")}),nk1=v0({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(HW8).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)=>{let J=H6(X),W=Y.properties||Y.propertyKeys||Y.propertyPatterns||Y.propertyInValues?{properties:Y.properties,propertyKeys:Y.propertyKeys,propertyPatterns:Y.propertyPatterns,propertyInValues:Y.propertyInValues}:void 0,Q={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(Q);return{logs:K.logs.map((Z)=>({...Z,timestamp:Z.timestamp instanceof Date?Z.timestamp.toISOString():Z.timestamp})),total:K.total,offset:Y.offset,limit:Y.limit}}})});var ik1;var yZ6=f(()=>{l6();y0();ik1=v0({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:H6(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 fZ6=f(()=>{vZ6();yZ6()});var $W8,VW8,qW8,ak1,zW8,UW8,du,cu,mL,DW8,BW8,hZ6;var kA=f(()=>{y0();$W8=B.enum(["sum","avg","min","max","count","count_all","last"]).describe("Aggregation function to apply"),VW8=B.enum(["metric","timeseries","table"]).describe("Widget display type"),qW8=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")}),ak1=B.enum(["connection_id","connection_title","user_id","tool_name","virtual_mcp_id"]).describe("Table column to group by (takes priority over JSONPath groupBy)"),zW8=B.object({fn:$W8,groupBy:B.string().optional().describe("Optional JSONPath for grouping results"),groupByColumn:ak1.optional(),interval:B.string().optional().describe("For timeseries widgets: interval like '1h', '1d', '15m'")}),UW8=B.object({connectionIds:B.array(B.string()).optional().describe("Filter to specific connections"),toolNames:B.array(B.string()).optional().describe("Filter to specific tools")}),du=B.object({id:B.string().describe("Unique widget identifier"),name:B.string().describe("Widget display name"),type:VW8,source:qW8,aggregation:zW8,filter:UW8.optional()}),cu=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' })")}),mL=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:cu.nullable().describe("Global filters applied to all widgets"),widgets:B.array(du).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")}),DW8=B.object({key:B.string().describe("Group key value"),value:B.number().describe("Aggregated value for this group")}),BW8=B.object({timestamp:B.string().describe("Time bucket timestamp"),value:B.number().describe("Aggregated value for this time bucket")}),hZ6=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(DW8).optional().describe("Grouped results (when groupBy is specified)"),timeseries:B.array(BW8).optional().describe("Timeseries data (for timeseries type)")})});var rk1;var bZ6=f(()=>{l6();y0();kA();rk1=v0({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:cu.optional().describe("Global filters applied to all widgets"),widgets:B.array(du).min(1).describe("Widget definitions (at least one required)")}),outputSchema:mL,handler:async(Y,X)=>{let J=H6(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 ok1;var xZ6=f(()=>{l6();y0();kA();ok1=v0({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:mL.nullable(),handler:async(Y,X)=>{let J=H6(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 sk1;var gZ6=f(()=>{l6();y0();kA();sk1=v0({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(mL).describe("List of dashboards"),total:B.number().describe("Total number of dashboards")}),handler:async(Y,X)=>{let J=H6(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 tk1;var uZ6=f(()=>{l6();y0();kA();tk1=v0({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:cu.nullable().optional().describe("New global filters"),widgets:B.array(du).optional().describe("New widget definitions")}),outputSchema:mL,handler:async(Y,X)=>{let J=H6(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 Q=await X.storage.monitoringDashboards.update(Y.id,W);return{id:Q.id,organizationId:Q.organizationId,name:Q.name,description:Q.description,filters:Q.filters,widgets:Q.widgets,createdBy:Q.createdBy,createdAt:Q.createdAt instanceof Date?Q.createdAt.toISOString():Q.createdAt,updatedAt:Q.updatedAt instanceof Date?Q.updatedAt.toISOString():Q.updatedAt}}})});var ek1;var mZ6=f(()=>{l6();y0();ek1=v0({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=H6(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 Yv1;var lZ6=f(()=>{l6();y0();kA();Yv1=v0({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(hZ6).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=H6(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,Q=Y.timeRange?.startDate?new Date(Y.timeRange.startDate):new Date(W.getTime()-86400000),K=Y.timeRange?.endDate?new Date(Y.timeRange.endDate):W,Z=await Promise.all(G.widgets.map(async(H)=>{let F=G.filters?.propertyFilters,$=Y.propertyFilters,V=F||$?{properties:{...F,...$?.properties},propertyKeys:$?.propertyKeys,propertyPatterns:$?.propertyPatterns,propertyInValues:$?.propertyInValues}:void 0,q={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:Q,endDate:K,propertyFilters:V};try{let z=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:q});return{widgetId:H.id,value:z.value,groups:z.groups,timeseries:z.timeseries}}catch(z){return console.error(`Widget ${H.id} aggregation failed:`,z),{widgetId:H.id,value:null,groups:void 0,timeseries:void 0}}}));return{dashboardId:Y.dashboardId,results:Z,timeRange:{startDate:Q.toISOString(),endDate:K.toISOString()}}}})});var LW8,Xv1;var dZ6=f(()=>{l6();y0();kA();LW8=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:ak1.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()}),Xv1=v0({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:LW8.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=H6(X),{widget:G,timeRange:W}=Y,Q=new Date,K=W?.startDate?new Date(W.startDate):new Date(Q.getTime()-86400000),Z=W?.endDate?new Date(W.endDate):Q,H={connectionIds:G.filter?.connectionIds,toolNames:G.filter?.toolNames,startDate:K,endDate:Z,propertyFilters:Y.propertyFilters};try{let F=Y.skipCount?void 0:await X.storage.monitoring.countMatched({organizationId:J.id,path:G.source.path,from:G.source.from,filters:H}),$=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:$.value,groups:$.groups,timeseries:$.timeseries,matchedRecords:F,timeRange:{startDate:K.toISOString(),endDate:Z.toISOString()}}}catch(F){return console.error("Widget preview aggregation failed:",F),{value:null,matchedRecords:void 0,timeRange:{startDate:K.toISOString(),endDate:Z.toISOString()}}}}})});var cZ6=f(()=>{bZ6();xZ6();gZ6();uZ6();mZ6();lZ6();dZ6()});var Jv1;var pZ6=f(()=>{y0();l6();Jv1=v0({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)=>{r0(X),await X.access.check();let J=x5(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 Gv1;var nZ6=f(()=>{y0();l6();Gv1=v0({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)=>{r0(X),await X.access.check();let J=x5(X),G=Y.userId||J;if(!G)throw Error("User ID required to list organizations");return{organizations:(await X.boundAuth.organization.list(G)).map((Q)=>({...Q,createdAt:Q.createdAt instanceof Date?Q.createdAt.toISOString():Q.createdAt}))}}})});var Wv1;var iZ6=f(()=>{y0();l6();Wv1=v0({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)=>{r0(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((Q)=>new Date(Q.expiresAt)>G);return{...J,invitations:W,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt}}})});var Qv1;var aZ6=f(()=>{y0();l6();Qv1=v0({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)=>{r0(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 Zv1;var rZ6=f(()=>{y0();l6();Zv1=v0({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 r0(X),await X.access.check(),await X.boundAuth.organization.delete(Y.id),{success:!0,id:Y.id}}})});var pu;var Kv1=f(()=>{y0();pu=B.object({title:B.string(),url:B.string(),icon:B.string()})});var Hv1;var oZ6=f(()=>{y0();l6();Kv1();Hv1=v0({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(pu).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)=>{r0(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 Fv1;var sZ6=f(()=>{y0();l6();Kv1();Fv1=v0({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(pu).optional(),enabled_plugins:B.array(B.string()).optional()}),outputSchema:B.object({organizationId:B.string(),sidebar_items:B.array(pu).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(r0(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 $v1;var tZ6=f(()=>{y0();l6();$v1=v0({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)=>{r0(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 Vv1;var eZ6=f(()=>{y0();l6();Vv1=v0({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)=>{r0(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 qv1;var YK6=f(()=>{y0();l6();qv1=v0({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)=>{r0(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((Q)=>({...Q,createdAt:Q.createdAt instanceof Date?Q.createdAt.toISOString():Q.createdAt}))}}})});var zv1;var XK6=f(()=>{y0();l6();zv1=v0({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)=>{r0(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 JK6=f(()=>{pZ6();nZ6();iZ6();aZ6();rZ6();oZ6();sZ6();tZ6();eZ6();YK6();XK6()});var MW8,EY1,wW8,VU,GK6,TY1;var lL=f(()=>{y0();MW8=B.object({banner:B.string().nullable(),bannerColor:B.string().nullable(),icon:B.string().nullable(),themeColor:B.string().nullable()}),EY1=B.object({banner:B.string().nullable().optional(),bannerColor:B.string().nullable().optional(),icon:B.string().nullable().optional(),themeColor:B.string().nullable().optional()}),wW8=B.object({id:B.string(),title:B.string(),icon:B.string().nullable()}),VU=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:MW8.nullable(),createdAt:B.string().datetime().describe("ISO 8601 timestamp"),updatedAt:B.string().datetime().describe("ISO 8601 timestamp")}),GK6=VU.omit({organizationId:!0}).extend({boundConnections:B.array(wW8)}),TY1=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 Uv1;var WK6=f(()=>{y0();l6();lL();Uv1=v0({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(GK6)}),handler:async(Y,X)=>{r0(X),await X.access.check();let J=await X.storage.projects.list(Y.organizationId),G=J.map((Q)=>Q.id),W=await X.storage.projectPluginConfigs.getBoundConnectionsForProjects(G);return{projects:J.map((Q)=>({id:Q.id,slug:Q.slug,name:Q.name,description:Q.description,enabledPlugins:Q.enabledPlugins,ui:Q.ui,boundConnections:W.get(Q.id)??[],createdAt:Q.createdAt instanceof Date?Q.createdAt.toISOString():Q.createdAt,updatedAt:Q.updatedAt instanceof Date?Q.updatedAt.toISOString():Q.updatedAt}))}}})});var Dv1;var QK6=f(()=>{y0();l6();lL();Dv1=v0({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:VU.nullable()}),handler:async(Y,X)=>{r0(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 Bv1;var ZK6=f(()=>{y0();nX();l6();lL();Bv1=v0({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:EY1.nullable().optional().describe("UI customization")}),outputSchema:B.object({project:VU}),handler:async(Y,X)=>{r0(X),await X.access.check();let{organizationId:J,slug:G,name:W,description:Q,enabledPlugins:K,ui:Z}=Y;if(G===i3)throw Error(`Slug "${i3}" is reserved`);if(await X.storage.projects.getBySlug(J,G))throw Error(`Project with slug "${G}" already exists in this organization`);let F=Z?{banner:Z.banner??null,bannerColor:Z.bannerColor??null,icon:Z.icon??null,themeColor:Z.themeColor??null}:null,$=await X.storage.projects.create({organizationId:J,slug:G,name:W,description:Q??null,enabledPlugins:K??null,ui:F});return{project:{id:$.id,organizationId:$.organizationId,slug:$.slug,name:$.name,description:$.description,enabledPlugins:$.enabledPlugins,ui:$.ui,createdAt:$.createdAt instanceof Date?$.createdAt.toISOString():$.createdAt,updatedAt:$.updatedAt instanceof Date?$.updatedAt.toISOString():$.updatedAt}}}})});var Lv1;var KK6=f(()=>{y0();l6();lL();Lv1=v0({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:EY1.nullable().optional().describe("Updated UI customization")}),outputSchema:B.object({project:VU.nullable()}),handler:async(Y,X)=>{r0(X),await X.access.check();let{projectId:J,name:G,description:W,enabledPlugins:Q,ui:K}=Y,Z={};if(G!==void 0)Z.name=G;if(W!==void 0)Z.description=W;if(Q!==void 0)Z.enabledPlugins=Q;if(K!==void 0)Z.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,Z);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 Ov1;var HK6=f(()=>{y0();nX();l6();Ov1=v0({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)=>{r0(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===i3)return{success:!1,message:"Cannot delete the org-admin project"};return{success:await X.storage.projects.delete(J)}}})});var Nv1;var FK6=f(()=>{y0();l6();lL();Nv1=v0({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:TY1.nullable()}),handler:async(Y,X)=>{r0(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 Mv1;var $K6=f(()=>{y0();l6();lL();LY1();Mv1=v0({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:TY1}),handler:async(Y,X)=>{r0(X),await X.access.check();let{projectId:J,pluginId:G,connectionId:W,settings:Q}=Y,K=x5(X),Z=await X.storage.projects.get(J);if(!Z)throw Error(`Project not found: ${J}`);let H=W?await X.storage.connections.findById(W):null;if(W&&Z.organizationId&&!H&&Wj()){if(BY1(W,Z.organizationId)){if(!K)throw Error("User ID required to create dev-assets connection");let $=Qj(Z.organizationId,nH());await X.storage.connections.create({...$,organization_id:Z.organizationId,created_by:K})}}let F=await X.storage.projectPluginConfigs.upsert(J,G,{connectionId:W,settings:Q});return{config:{id:F.id,projectId:F.projectId,pluginId:F.pluginId,connectionId:F.connectionId,settings:F.settings,createdAt:F.createdAt instanceof Date?F.createdAt.toISOString():F.createdAt,updatedAt:F.updatedAt instanceof Date?F.updatedAt.toISOString():F.updatedAt}}}})});var AW8,wv1;var VK6=f(()=>{y0();l6();AW8=B.object({id:B.string(),title:B.string(),icon:B.string().nullable(),connectionType:B.string(),status:B.string()}),wv1=v0({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(AW8)}),handler:async(Y,X)=>{r0(X);let J=H6(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 Q=await X.storage.projectConnections.list(G);return{connections:(await Promise.all(Q.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 Av1;var qK6=f(()=>{y0();l6();Av1=v0({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)=>{r0(X);let J=H6(X);await X.access.check();let{projectId:G,connectionId:W}=Y,Q=await X.storage.projects.get(G);if(!Q||Q.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 Pv1;var zK6=f(()=>{y0();l6();Pv1=v0({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)=>{r0(X);let J=H6(X);await X.access.check();let{projectId:G,connectionId:W}=Y,Q=await X.storage.projects.get(G);if(!Q||Q.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 Z=await X.storage.projectConnections.remove(G,W);if(Q?.ui?.pinnedViews?.length){let H=Q.ui.pinnedViews.filter((F)=>F.connectionId!==W);if(H.length!==Q.ui.pinnedViews.length){let F={...Q.ui,pinnedViews:H.length>0?H:null};await X.storage.projects.update(G,{ui:F})}}return{success:Z}}})});var PW8,Ev1;var UK6=f(()=>{y0();l6();lL();PW8=B.object({connectionId:B.string(),toolName:B.string(),label:B.string(),icon:B.string().nullable()}),Ev1=v0({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(PW8).describe("Pinned views to set for the project sidebar")}),outputSchema:B.object({project:VU.nullable()}),handler:async(Y,X)=>{r0(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},Z=await X.storage.projects.update(J,{ui:K});if(!Z)return{project:null};return{project:{id:Z.id,organizationId:Z.organizationId,slug:Z.slug,name:Z.name,description:Z.description,enabledPlugins:Z.enabledPlugins,ui:Z.ui,createdAt:Z.createdAt instanceof Date?Z.createdAt.toISOString():Z.createdAt,updatedAt:Z.updatedAt instanceof Date?Z.updatedAt.toISOString():Z.updatedAt}}}})});var DK6=f(()=>{WK6();QK6();ZK6();KK6();HK6();FK6();$K6();VK6();qK6();zK6();UK6()});var Tv1;var BK6=f(()=>{y0();l6();Tv1=v0({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)=>{r0(X),await X.access.check();let J=H6(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 Rv1;var LK6=f(()=>{y0();l6();Rv1=v0({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)=>{r0(X),await X.access.check();let J=H6(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 Cv1;var OK6=f(()=>{y0();l6();Cv1=v0({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)=>{r0(X),await X.access.check();let J=H6(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 Iv1;var NK6=f(()=>{y0();l6();Iv1=v0({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)=>{r0(X),await X.access.check();let J=H6(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((Q)=>({...Q,createdAt:Q.createdAt instanceof Date?Q.createdAt.toISOString():String(Q.createdAt)}))}}})});var jv1;var MK6=f(()=>{y0();l6();jv1=v0({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)=>{r0(X),await X.access.check();let J=H6(X);if(!await X.storage.tags.verifyMemberOrg(Y.memberId,J.id))throw Error(`Member not found in this organization: ${Y.memberId}`);for(let Q of Y.tagIds){let K=await X.storage.tags.getTag(Q);if(!K)throw Error(`Tag not found: ${Q}`);if(K.organizationId!==J.id)throw Error(`Tag does not belong to this organization: ${Q}`)}return await X.storage.tags.setMemberTags(Y.memberId,Y.tagIds),{success:!0,tags:(await X.storage.tags.getMemberTags(Y.memberId)).map((Q)=>({...Q,createdAt:Q.createdAt instanceof Date?Q.createdAt.toISOString():String(Q.createdAt)}))}}})});var wK6=f(()=>{BK6();LK6();OK6();NK6();MK6()});var AK6=f(()=>{nX()});var PK6,kV,EK6,TK6;var vA=f(()=>{y0();AK6();PK6=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")}),kV=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([...mP,"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")}),EK6=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")}),TK6=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 RW8,CW8,Sv1;var RK6=f(()=>{y0();l6();vA();Su();RW8=B.object({data:EK6.describe("Data for the new thread (id is auto-generated if not provided)")}),CW8=B.object({item:kV.describe("The created thread entity")}),Sv1=v0({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:RW8,outputSchema:CW8,handler:async(Y,X)=>{r0(X);let J=H6(X);await X.access.check();let G=x5(X);if(!G)throw Error("User ID required to create thread");let W=Y.data.id??hL("thrd"),Q=await X.storage.threads.create({id:W,organization_id:J.id,title:Y.data.title,description:Y.data.description,created_by:G});return{item:{...Q,hidden:Q.hidden??!1}}}})});function dL(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 IW8,jW8,_v1;var CK6=f(()=>{DQ();l6();vA();y0();IW8=wH.extend({where:B.object({created_by:B.string().optional()}).optional()}),jW8=Cq(kV),_v1=v0({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:IW8,outputSchema:jW8,handler:async(Y,X)=>{await X.access.check();let J=X.auth.user?.id;if(!J)throw Error("User ID required to list threads");let G=H6(X),W=Y.offset??0,Q=Y.limit??100,{threads:K,total:Z}=await X.storage.threads.list(G.id,J,{limit:Q,offset:W}),H=W+Q<Z,F=Date.now();return{items:K.map(($)=>dL($,F)),totalCount:Z,hasMore:H}}})});var SW8,kv1;var IK6=f(()=>{DQ();l6();vA();SW8=Xy(kV),kv1=v0({name:"COLLECTION_THREADS_GET",description:"Get thread details by ID",annotations:{title:"Get Thread",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:Yy,outputSchema:SW8,handler:async(Y,X)=>{r0(X);let J=H6(X);await X.access.check();let G=await X.storage.threads.get(Y.id);if(!G||G.organization_id!==J.id)return{item:null};return{item:dL(G)}}})});var _W8,kW8,vv1;var jK6=f(()=>{y0();l6();vA();_W8=B.object({id:B.string().describe("ID of the thread to update"),data:TK6.describe("Partial thread data to update")}),kW8=B.object({item:kV.describe("The updated thread entity")}),vv1=v0({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:_W8,outputSchema:kW8,handler:async(Y,X)=>{r0(X);let J=H6(X);await X.access.check();let G=x5(X);if(!G)throw Error("User ID required to update thread");let{id:W,data:Q}=Y,K=await X.storage.threads.get(W);if(!K||K.organization_id!==J.id)throw Error("Thread not found in organization");let Z=await X.storage.threads.update(W,{title:Q.title,description:Q.description,hidden:Q.hidden,updated_by:G});return{item:dL(Z)}}})});var yv1;var SK6=f(()=>{DQ();l6();vA();yv1=v0({name:"COLLECTION_THREADS_DELETE",description:"Delete a thread",annotations:{title:"Delete Thread",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:Jy,outputSchema:Gy(kV),handler:async(Y,X)=>{r0(X);let J=H6(X);await X.access.check();let G=await X.storage.threads.get(Y.id);if(!G)throw Error(`Thread not found: ${Y.id}`);if(G.organization_id!==J.id)throw Error(`Thread not found: ${Y.id}`);return await X.storage.threads.delete(Y.id),{item:dL(G)}}})});function _K6(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=_K6(X);if(J)return J}return null}var vW8,fv1;var kK6=f(()=>{DQ();l6();vA();vW8=Cq(PK6),fv1=v0({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:wH,outputSchema:vW8,handler:async(Y,X)=>{let J=H6(X);await X.access.check();let G=_K6(Y.where);if(!G)throw Error("thread_id filter is required in where clause");let W=await X.storage.threads.get(G);if(!W||W.organization_id!==J.id)return{items:[],totalCount:0,hasMore:!1};let Q=Y.offset??0,K=Y.limit??100,{messages:Z,total:H}=await X.storage.threads.listMessages(G,{limit:K,offset:Q}),F=Q+K<H;return{items:Z,totalCount:H,hasMore:F}}})});var vK6=f(()=>{RK6();CK6();IK6();jK6();SK6();kK6()});var fW8,hW8,hv1;var yK6=f(()=>{y0();l6();fW8=B.object({id:B.string().min(1)}),hW8=B.object({user:B.object({id:B.string(),name:B.string(),email:B.string(),image:B.string().nullable()}).nullable()}),hv1=v0({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:fW8,outputSchema:hW8,handler:async(Y,X)=>{await X.access.check(),r0(X);let J=x5(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 fK6=f(()=>{yK6()});var bK6={};G4(bK6,{managementMCP:()=>uW8,ALL_TOOLS:()=>hK6});var xW8,gW8,hK6,uW8=async(Y)=>{let X=null;if(Y.organization){let W=await Y.storage.organizationSettings.get(Y.organization.id),Q=await Y.storage.projects.list(Y.organization.id),K=new Set(W?.enabled_plugins??[]);for(let Z of Q)if(Z.enabledPlugins)for(let H of Z.enabledPlugins)K.add(H);X=K.size>0?[...K]:null}let J=dW0(hK6,X),G=new lP({name:"mcp-mesh-management",version:"1.0.0"},{capabilities:{tools:{}}});for(let W of J){let Q=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,Z=Q.shape,H=K?.shape;G.registerTool(W.name,{description:W.description??"",inputSchema:Z,outputSchema:H,annotations:W.annotations,_meta:W._meta},async(F)=>{Y.access.setToolName(W.name);try{let $=await W.execute(F,Y);return{content:[{type:"text",text:JSON.stringify($)}],structuredContent:$}}catch($){return{content:[{type:"text",text:`Error: ${$.message}`}],isError:!0}}})}return G};var xK6=f(()=>{ks();ji();y0();mW6();HQ6();QZ6();FZ6();NZ6();RZ6();kZ6();fZ6();cZ6();JK6();DK6();wK6();vK6();fK6();xW8=[Jv1,Gv1,Wv1,Qv1,Zv1,Hv1,Fv1,$v1,Vv1,qv1,zv1,Yk1,Gk1,Wk1,Tk1,Rk1,Ck1,fk1,bk1,xk1,gk1,uk1,mk1,lk1,dk1,ck1,pk1,HZ6,nk1,ik1,rk1,ok1,sk1,tk1,ek1,Yv1,Xv1,n_1,a_1,r_1,i_1,Ik1,jk1,Sk1,_k1,kk1,vk1,yk1,hv1,s_1,t_1,e_1,Sv1,_v1,kv1,vv1,yv1,fv1,Tv1,Rv1,Cv1,Iv1,jv1,Uv1,Dv1,Bv1,Lv1,Ov1,Nv1,Mv1,wv1,Av1,Pv1,Ev1],gW8=cW0(),hK6=[...xW8,...gW8]});function mW8(Y){return[{permissions:{self:["*"]},getTools:async()=>{let{ALL_TOOLS:X}=await Promise.resolve().then(() => (xK6(),bK6));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:HH1(nH(),Y)},{data:KH1()},{data:ZH1(Y)}]}async function gK6(Y,X){try{let J=oI(),G=new S_1(process.env.ENCRYPTION_KEY||""),W=new __1(J.db,G),Q=new k_1(J.db),K=mW8(Y);try{await Q.create({organizationId:Y,slug:i3,name:j2,description:"Organization administration and settings",enabledPlugins:null,ui:null})}catch(Z){console.warn("Could not create org-admin project (may already exist):",Z)}await Promise.all(K.map(async(Z)=>{let H=null;if(Z.permissions)H=(await Vj.api.createApiKey({body:{name:`${Z.data.app_name??crypto.randomUUID()}-mcp`,userId:X,permissions:Z.permissions,rateLimitEnabled:!1,metadata:{organization:{id:Y},purpose:"default-org-connections"}}}))?.key;let F=await eI({id:"pending",title:Z.data.title,connection_type:Z.data.connection_type,connection_url:Z.data.connection_url,connection_token:Z.data.connection_token,connection_headers:Z.data.connection_headers}).catch(()=>null),$=await Z.getTools?.()??F?.tools??null,V=F?.scopes?.length?F.scopes:null,q=Z.data.id?Z.data.id.startsWith(`${Y}_`)?Z.data.id:`${Y}_${Z.data.id}`:void 0;await W.create({...Z.data,id:q,tools:$,configuration_scopes:V,organization_id:Y,created_by:X,connection_token:Z.data.connection_token??H})}))}catch(J){console.error("Error creating default MCP connections:",J)}}var uK6=f(()=>{nX();HY1();yG6();fG6();hG6();VY1();y0();MY1()});var mK6;var lK6=f(()=>{mK6=["owner","admin"]});var lW8=(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"}}}}]}},dK6=(Y)=>{if(Y.providerId==="microsoft")return lW8(Y);throw Error(`Unsupported provider: ${Y.providerId}`)};function dW8(Y){return Y.toLowerCase().trim().replace(/[^a-z0-9\s_-]+/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function cW8(){let Y=Math.floor(Math.random()*pK6.length),X=Math.floor(Math.random()*cK6.length),J=pK6[Y]??"deco",G=cK6[X]??"studio";return`${J}-${G}`}function YQ8(){let Y=[nu],X=new URL(nu);if(X.hostname==="localhost")Y.push(nu.replace("localhost","127.0.0.1"));else if(X.hostname==="127.0.0.1")Y.push(nu.replace("127.0.0.1","localhost"));return Y}var cK6,pK6,pW8,nW8,RY1,iW8,aW8,rW8,nK6,jX,iK6=void 0,bv1=void 0,oW8=!1,sW8,tW8,eW8,nu,Vj;var MY1=f(()=>{EZ0();nD0();IL0();aw1();MO0();wO0();P01();CO0();HY1();j_1();jG6();uK6();lK6();cK6=["labs","agent","studio","workspace","systems","core","cloud","works"],pK6=["capybara","guarana","deco","samba","feijoada","capoeira","carnival"];pW8=Object.values(KO1()).map((Y)=>Y.map((X)=>X.name)).flat(),nW8={...Q01,self:["*",...pW8]},RY1=YV(nW8),iW8=RY1.newRole({self:["*"],...Rb.statements}),aW8=RY1.newRole({self:["*"],...Rb.statements}),rW8=RY1.newRole({self:["*"],...Rb.statements}),nK6=Object.values(KO1()).map((Y)=>Y.map((X)=>`self:${X.name}`)).flat(),jX=w01.auth;if(jX.inviteEmailProviderId&&jX.emailProviders&&jX.emailProviders.length>0){let Y=Iu(jX.emailProviders,jX.inviteEmailProviderId);if(Y){let X=Cu(Y);iK6=async(J)=>{let G=J.inviter.user?.name||J.inviter.user?.email,W=`${nH()}/auth/accept-invitation?invitationId=${J.invitation.id}&redirectTo=/`;await X({to:J.email,subject:`Invitation to join ${J.organization.name}`,html:`
1962
+ `.execute(Y)).rows[0]?.exists)await N0`CREATE ROLE ${N0.id(J)} NOLOGIN`.execute(Y);await N0`GRANT ${N0.id(J)} TO CURRENT_USER`.execute(Y),await N0`GRANT USAGE, CREATE ON SCHEMA ${N0.id(X)} TO ${N0.id(J)}`.execute(Y),await N0`GRANT ALL ON ALL TABLES IN SCHEMA ${N0.id(X)} TO ${N0.id(J)}`.execute(Y),await N0`GRANT ALL ON ALL SEQUENCES IN SCHEMA ${N0.id(X)} TO ${N0.id(J)}`.execute(Y),await N0`ALTER DEFAULT PRIVILEGES IN SCHEMA ${N0.id(X)} GRANT ALL ON TABLES TO ${N0.id(J)}`.execute(Y),await N0`ALTER DEFAULT PRIVILEGES IN SCHEMA ${N0.id(X)} GRANT ALL ON SEQUENCES TO ${N0.id(J)}`.execute(Y),await N0`REVOKE ALL ON SCHEMA public FROM ${N0.id(J)}`.execute(Y)}async function vG8(Y,X,J,G){try{return await Y.transaction().execute(async(W)=>{return await N0`SET LOCAL ROLE ${N0.id(J)}`.execute(W),await N0`SET LOCAL search_path TO ${N0.id(X)}`.execute(W),await N0.raw(G).execute(W)})}catch(W){if(_G8(W))return await kG8(Y,X,J),await Y.transaction().execute(async(Q)=>{return await N0`SET LOCAL ROLE ${N0.id(J)}`.execute(Q),await N0`SET LOCAL search_path TO ${N0.id(X)}`.execute(Q),await N0.raw(G).execute(Q)});throw W}}var RG8,IG8,HZ6;var FZ6=f(()=>{N9();y0();l6();RG8=B.object({results:B.array(B.unknown()).optional(),success:B.boolean().optional()});IG8=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()});HZ6=v0({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:IG8,outputSchema:B.object({result:B.array(RG8)}),handler:async(Y,X)=>{r0(X),await X.access.check();let J=CG8(Y.sql,Y.params||[]);if(!X.connectionId)throw Error("Connection context required for database access");let G=jG8(X.connectionId),W=SG8(X.connectionId);return{result:[{results:(await vG8(X.db,G,W,J)).rows,success:!0}]}}})});var $Z6,fG8,VZ6;var $U=f(()=>{y0();Dr();$Z6=B.object({connectionId:B.string().optional().describe("Filter subscriptions by connection ID (optional)")}),fG8=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)")}),VZ6=B.object({subscriptions:B.array(fG8).describe("List of subscriptions")})});var Ik1;var qZ6=f(()=>{l6();$U();Ik1=v0({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:Wy,outputSchema:Qy,handler:async(Y,X)=>{r0(X);let J=H6(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 zZ6=f(()=>{l6();$U();jk1=v0({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:Zy,outputSchema:Ky,handler:async(Y,X)=>{r0(X);let J=H6(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 Sk1;var UZ6=f(()=>{l6();$U();Sk1=v0({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:$y,outputSchema:Vy,handler:async(Y,X)=>{r0(X);let J=H6(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 _k1;var DZ6=f(()=>{l6();$U();_k1=v0({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:qy,outputSchema:zy,handler:async(Y,X)=>{r0(X);let J=H6(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 BZ6=f(()=>{l6();$U();kk1=v0({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:Uy,outputSchema:Dy,handler:async(Y,X)=>{r0(X);let J=H6(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 vk1;var LZ6=f(()=>{l6();$U();vk1=v0({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:$Z6,outputSchema:VZ6,handler:async(Y,X)=>{r0(X);let J=H6(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 yk1;var OZ6=f(()=>{l6();$U();yk1=v0({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:Hy,outputSchema:Fy,handler:async(Y,X)=>{r0(X);let J=H6(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((Q)=>({id:Q.id,connectionId:Q.connectionId,eventType:Q.eventType,publisher:Q.publisher,filter:Q.filter,enabled:Q.enabled,createdAt:Q.createdAt instanceof Date?Q.createdAt.toISOString():Q.createdAt,updatedAt:Q.updatedAt instanceof Date?Q.updatedAt.toISOString():Q.updatedAt}))}}})});var NZ6=f(()=>{qZ6();zZ6();UZ6();DZ6();BZ6();LZ6();OZ6();$U()});var $j=f(()=>{Ii()});function MZ6(){return`/icons/capy-${Math.floor(Math.random()*39)+0}.png`}var bG8,xG8,fk1;var wZ6=f(()=>{y0();l6();$j();bG8=B.object({data:ak.describe("Data for the new virtual MCP")}),xG8=B.object({item:HZ.describe("The created virtual MCP entity")}),fk1=v0({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:bG8,outputSchema:xG8,handler:async(Y,X)=>{r0(X);let J=H6(X);await X.access.check();let G=x5(X);if(!G)throw Error("User ID required to create virtual MCP");let W={...Y.data,icon:Y.data.icon??MZ6()};return{item:await X.storage.virtualMcps.create(J.id,G,W)}}})});function gG8(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 uL(Y){return typeof Y==="string"||typeof Y==="number"}function hk1(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 uG8(Y,X){return Y.connections.some((J)=>J.connection_id===X)}function PY1(Y,X){if("conditions"in X){let{operator:Z,conditions:H}=X;switch(Z){case"and":return H.every((F)=>PY1(Y,F));case"or":return H.some((F)=>PY1(Y,F));case"not":return!H.every((F)=>PY1(Y,F));default:return!0}}let{field:J,operator:G,value:W}=X,Q=J.join(".");if(Q==="connection_id"){if(G!=="eq"||typeof W!=="string")return!1;return uG8(Y,W)}let K=hk1(Y,Q);switch(G){case"eq":return K===W;case"gt":return uL(K)&&uL(W)&&K>W;case"gte":return uL(K)&&uL(W)&&K>=W;case"lt":return uL(K)&&uL(W)&&K<W;case"lte":return uL(K)&&uL(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 Z=gG8(W);return new RegExp(`^${Z}$`,"i").test(K);case"contains":if(typeof K!=="string"||typeof W!=="string")return!1;return K.toLowerCase().includes(W.toLowerCase());default:return!0}}function mG8(Y,X){return[...Y].sort((J,G)=>{for(let W of X){let Q=W.field.join("."),K=hk1(J,Q),Z=hk1(G,Q),H=0;if(K==null&&Z==null)continue;if(K==null)H=W.nulls==="first"?-1:1;else if(Z==null)H=W.nulls==="first"?1:-1;else if(typeof K==="string"&&typeof Z==="string")H=K.localeCompare(Z);else if(typeof K==="number"&&typeof Z==="number")H=K-Z;else H=String(K).localeCompare(String(Z));if(H!==0)return W.direction==="desc"?-H:H}return 0})}var lG8,dG8,bk1;var AZ6=f(()=>{DQ();l6();$j();lG8=wH,dG8=Cq(HZ),bk1=v0({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:lG8,outputSchema:dG8,handler:async(Y,X)=>{await X.access.check();let J=H6(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,Q=G?await X.storage.virtualMcps.listByConnectionId(J.id,G):await X.storage.virtualMcps.list(J.id);if(Y.where)Q=Q.filter((V)=>PY1(V,Y.where));if(Y.orderBy&&Y.orderBy.length>0)Q=mG8(Q,Y.orderBy);let K=Q.length,Z=Y.offset??0,H=Y.limit??100,F=Q.slice(Z,Z+H),$=Z+H<K;return{items:F,totalCount:K,hasMore:$}}})});var cG8,pG8,xk1;var PZ6=f(()=>{y0();l6();$j();cG8=B.object({id:B.string().describe("ID of the virtual MCP to retrieve")}),pG8=B.object({item:HZ.nullable().describe("The retrieved virtual MCP, or null if not found")}),xk1=v0({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:cG8,outputSchema:pG8,handler:async(Y,X)=>{r0(X);let J=H6(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 nG8,iG8,gk1;var EZ6=f(()=>{y0();l6();$j();nG8=B.object({id:B.string().describe("ID of the virtual MCP to update"),data:rk.describe("Partial virtual MCP data to update")}),iG8=B.object({item:HZ.describe("The updated virtual MCP entity")}),gk1=v0({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:nG8,outputSchema:iG8,handler:async(Y,X)=>{r0(X);let J=H6(X);await X.access.check();let G=x5(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 aG8,rG8,uk1;var TZ6=f(()=>{y0();l6();$j();aG8=B.object({id:B.string().describe("ID of the virtual MCP to delete")}),rG8=B.object({item:HZ.describe("The deleted virtual MCP entity")}),uk1=v0({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:aG8,outputSchema:rG8,handler:async(Y,X)=>{r0(X);let J=H6(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 RZ6=f(()=>{wZ6();AZ6();PZ6();EZ6();TZ6()});var sG8,tG8,mk1;var CZ6=f(()=>{y0();l6();gL();sG8=B.object({virtual_mcp_id:B.string().describe("ID of the Virtual MCP to add the tool to"),data:xQ6.describe("Virtual tool data")}),tG8=B.object({item:_V.describe("The created virtual tool")}),mk1=v0({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:sG8,outputSchema:tG8,handler:async(Y,X)=>{r0(X);let J=H6(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 eG8,YW8,lk1;var IZ6=f(()=>{y0();l6();gL();eG8=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")}),YW8=B.object({items:B.array(_V).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")}),lk1=v0({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:eG8,outputSchema:YW8,handler:async(Y,X)=>{r0(X);let J=H6(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),Q=W.length,K=Y.offset??0,Z=Y.limit??100,H=W.slice(K,K+Z),F=K+Z<Q;return{items:H,totalCount:Q,hasMore:F}}})});var XW8,JW8,dk1;var jZ6=f(()=>{y0();l6();gL();XW8=B.object({virtual_mcp_id:B.string().describe("ID of the Virtual MCP"),name:B.string().describe("Name of the virtual tool to retrieve")}),JW8=B.object({item:_V.nullable().describe("The retrieved virtual tool, or null if not found")}),dk1=v0({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:XW8,outputSchema:JW8,handler:async(Y,X)=>{r0(X);let J=H6(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 GW8,WW8,ck1;var SZ6=f(()=>{y0();l6();gL();GW8=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:gQ6.describe("Partial virtual tool data to update")}),WW8=B.object({item:_V.describe("The updated virtual tool")}),ck1=v0({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:GW8,outputSchema:WW8,handler:async(Y,X)=>{r0(X);let J=H6(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 Q=Y.data.connection_dependencies;return{item:await X.storage.virtualMcps.updateVirtualTool(Y.virtual_mcp_id,Y.name,Y.data,Q)}}})});var QW8,ZW8,pk1;var _Z6=f(()=>{y0();l6();gL();QW8=B.object({virtual_mcp_id:B.string().describe("ID of the Virtual MCP"),name:B.string().describe("Name of the virtual tool to delete")}),ZW8=B.object({item:_V.describe("The deleted virtual tool")}),pk1=v0({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:QW8,outputSchema:ZW8,handler:async(Y,X)=>{r0(X);let J=H6(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 kZ6=f(()=>{CZ6();IZ6();jZ6();SZ6();_Z6()});var HW8,nk1;var vZ6=f(()=>{l6();y0();HW8=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")}),nk1=v0({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(HW8).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)=>{let J=H6(X),W=Y.properties||Y.propertyKeys||Y.propertyPatterns||Y.propertyInValues?{properties:Y.properties,propertyKeys:Y.propertyKeys,propertyPatterns:Y.propertyPatterns,propertyInValues:Y.propertyInValues}:void 0,Q={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(Q);return{logs:K.logs.map((Z)=>({...Z,timestamp:Z.timestamp instanceof Date?Z.timestamp.toISOString():Z.timestamp})),total:K.total,offset:Y.offset,limit:Y.limit}}})});var ik1;var yZ6=f(()=>{l6();y0();ik1=v0({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:H6(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 fZ6=f(()=>{vZ6();yZ6()});var $W8,VW8,qW8,ak1,zW8,UW8,du,cu,mL,DW8,BW8,hZ6;var kA=f(()=>{y0();$W8=B.enum(["sum","avg","min","max","count","count_all","last"]).describe("Aggregation function to apply"),VW8=B.enum(["metric","timeseries","table"]).describe("Widget display type"),qW8=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")}),ak1=B.enum(["connection_id","connection_title","user_id","tool_name","virtual_mcp_id"]).describe("Table column to group by (takes priority over JSONPath groupBy)"),zW8=B.object({fn:$W8,groupBy:B.string().optional().describe("Optional JSONPath for grouping results"),groupByColumn:ak1.optional(),interval:B.string().optional().describe("For timeseries widgets: interval like '1h', '1d', '15m'")}),UW8=B.object({connectionIds:B.array(B.string()).optional().describe("Filter to specific connections"),toolNames:B.array(B.string()).optional().describe("Filter to specific tools")}),du=B.object({id:B.string().describe("Unique widget identifier"),name:B.string().describe("Widget display name"),type:VW8,source:qW8,aggregation:zW8,filter:UW8.optional()}),cu=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' })")}),mL=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:cu.nullable().describe("Global filters applied to all widgets"),widgets:B.array(du).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")}),DW8=B.object({key:B.string().describe("Group key value"),value:B.number().describe("Aggregated value for this group")}),BW8=B.object({timestamp:B.string().describe("Time bucket timestamp"),value:B.number().describe("Aggregated value for this time bucket")}),hZ6=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(DW8).optional().describe("Grouped results (when groupBy is specified)"),timeseries:B.array(BW8).optional().describe("Timeseries data (for timeseries type)")})});var rk1;var bZ6=f(()=>{l6();y0();kA();rk1=v0({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:cu.optional().describe("Global filters applied to all widgets"),widgets:B.array(du).min(1).describe("Widget definitions (at least one required)")}),outputSchema:mL,handler:async(Y,X)=>{let J=H6(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 ok1;var xZ6=f(()=>{l6();y0();kA();ok1=v0({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:mL.nullable(),handler:async(Y,X)=>{let J=H6(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 sk1;var gZ6=f(()=>{l6();y0();kA();sk1=v0({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(mL).describe("List of dashboards"),total:B.number().describe("Total number of dashboards")}),handler:async(Y,X)=>{let J=H6(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 tk1;var uZ6=f(()=>{l6();y0();kA();tk1=v0({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:cu.nullable().optional().describe("New global filters"),widgets:B.array(du).optional().describe("New widget definitions")}),outputSchema:mL,handler:async(Y,X)=>{let J=H6(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 Q=await X.storage.monitoringDashboards.update(Y.id,W);return{id:Q.id,organizationId:Q.organizationId,name:Q.name,description:Q.description,filters:Q.filters,widgets:Q.widgets,createdBy:Q.createdBy,createdAt:Q.createdAt instanceof Date?Q.createdAt.toISOString():Q.createdAt,updatedAt:Q.updatedAt instanceof Date?Q.updatedAt.toISOString():Q.updatedAt}}})});var ek1;var mZ6=f(()=>{l6();y0();ek1=v0({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=H6(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 Yv1;var lZ6=f(()=>{l6();y0();kA();Yv1=v0({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(hZ6).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=H6(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,Q=Y.timeRange?.startDate?new Date(Y.timeRange.startDate):new Date(W.getTime()-86400000),K=Y.timeRange?.endDate?new Date(Y.timeRange.endDate):W,Z=await Promise.all(G.widgets.map(async(H)=>{let F=G.filters?.propertyFilters,$=Y.propertyFilters,V=F||$?{properties:{...F,...$?.properties},propertyKeys:$?.propertyKeys,propertyPatterns:$?.propertyPatterns,propertyInValues:$?.propertyInValues}:void 0,q={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:Q,endDate:K,propertyFilters:V};try{let z=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:q});return{widgetId:H.id,value:z.value,groups:z.groups,timeseries:z.timeseries}}catch(z){return console.error(`Widget ${H.id} aggregation failed:`,z),{widgetId:H.id,value:null,groups:void 0,timeseries:void 0}}}));return{dashboardId:Y.dashboardId,results:Z,timeRange:{startDate:Q.toISOString(),endDate:K.toISOString()}}}})});var LW8,Xv1;var dZ6=f(()=>{l6();y0();kA();LW8=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:ak1.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()}),Xv1=v0({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:LW8.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=H6(X),{widget:G,timeRange:W}=Y,Q=new Date,K=W?.startDate?new Date(W.startDate):new Date(Q.getTime()-86400000),Z=W?.endDate?new Date(W.endDate):Q,H={connectionIds:G.filter?.connectionIds,toolNames:G.filter?.toolNames,startDate:K,endDate:Z,propertyFilters:Y.propertyFilters};try{let F=Y.skipCount?void 0:await X.storage.monitoring.countMatched({organizationId:J.id,path:G.source.path,from:G.source.from,filters:H}),$=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:$.value,groups:$.groups,timeseries:$.timeseries,matchedRecords:F,timeRange:{startDate:K.toISOString(),endDate:Z.toISOString()}}}catch(F){return console.error("Widget preview aggregation failed:",F),{value:null,matchedRecords:void 0,timeRange:{startDate:K.toISOString(),endDate:Z.toISOString()}}}}})});var cZ6=f(()=>{bZ6();xZ6();gZ6();uZ6();mZ6();lZ6();dZ6()});var Jv1;var pZ6=f(()=>{y0();l6();Jv1=v0({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)=>{r0(X),await X.access.check();let J=x5(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 Gv1;var nZ6=f(()=>{y0();l6();Gv1=v0({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)=>{r0(X),await X.access.check();let J=x5(X),G=Y.userId||J;if(!G)throw Error("User ID required to list organizations");return{organizations:(await X.boundAuth.organization.list(G)).map((Q)=>({...Q,createdAt:Q.createdAt instanceof Date?Q.createdAt.toISOString():Q.createdAt}))}}})});var Wv1;var iZ6=f(()=>{y0();l6();Wv1=v0({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)=>{r0(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((Q)=>new Date(Q.expiresAt)>G);return{...J,invitations:W,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt}}})});var Qv1;var aZ6=f(()=>{y0();l6();Qv1=v0({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)=>{r0(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 Zv1;var rZ6=f(()=>{y0();l6();Zv1=v0({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 r0(X),await X.access.check(),await X.boundAuth.organization.delete(Y.id),{success:!0,id:Y.id}}})});var pu;var Kv1=f(()=>{y0();pu=B.object({title:B.string(),url:B.string(),icon:B.string()})});var Hv1;var oZ6=f(()=>{y0();l6();Kv1();Hv1=v0({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(pu).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)=>{r0(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 Fv1;var sZ6=f(()=>{y0();l6();Kv1();Fv1=v0({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(pu).optional(),enabled_plugins:B.array(B.string()).optional()}),outputSchema:B.object({organizationId:B.string(),sidebar_items:B.array(pu).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(r0(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 $v1;var tZ6=f(()=>{y0();l6();$v1=v0({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)=>{r0(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 Vv1;var eZ6=f(()=>{y0();l6();Vv1=v0({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)=>{r0(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 qv1;var YK6=f(()=>{y0();l6();qv1=v0({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)=>{r0(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((Q)=>({...Q,createdAt:Q.createdAt instanceof Date?Q.createdAt.toISOString():Q.createdAt}))}}})});var zv1;var XK6=f(()=>{y0();l6();zv1=v0({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)=>{r0(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 JK6=f(()=>{pZ6();nZ6();iZ6();aZ6();rZ6();oZ6();sZ6();tZ6();eZ6();YK6();XK6()});var MW8,EY1,wW8,VU,GK6,TY1;var lL=f(()=>{y0();MW8=B.object({banner:B.string().nullable(),bannerColor:B.string().nullable(),icon:B.string().nullable(),themeColor:B.string().nullable()}),EY1=B.object({banner:B.string().nullable().optional(),bannerColor:B.string().nullable().optional(),icon:B.string().nullable().optional(),themeColor:B.string().nullable().optional()}),wW8=B.object({id:B.string(),title:B.string(),icon:B.string().nullable()}),VU=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:MW8.nullable(),createdAt:B.string().datetime().describe("ISO 8601 timestamp"),updatedAt:B.string().datetime().describe("ISO 8601 timestamp")}),GK6=VU.omit({organizationId:!0}).extend({boundConnections:B.array(wW8)}),TY1=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 Uv1;var WK6=f(()=>{y0();l6();lL();Uv1=v0({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(GK6)}),handler:async(Y,X)=>{r0(X),await X.access.check();let J=await X.storage.projects.list(Y.organizationId),G=J.map((Q)=>Q.id),W=await X.storage.projectPluginConfigs.getBoundConnectionsForProjects(G);return{projects:J.map((Q)=>({id:Q.id,slug:Q.slug,name:Q.name,description:Q.description,enabledPlugins:Q.enabledPlugins,ui:Q.ui,boundConnections:W.get(Q.id)??[],createdAt:Q.createdAt instanceof Date?Q.createdAt.toISOString():Q.createdAt,updatedAt:Q.updatedAt instanceof Date?Q.updatedAt.toISOString():Q.updatedAt}))}}})});var Dv1;var QK6=f(()=>{y0();l6();lL();Dv1=v0({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:VU.nullable()}),handler:async(Y,X)=>{r0(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 Bv1;var ZK6=f(()=>{y0();nX();l6();lL();Bv1=v0({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:EY1.nullable().optional().describe("UI customization")}),outputSchema:B.object({project:VU}),handler:async(Y,X)=>{r0(X),await X.access.check();let{organizationId:J,slug:G,name:W,description:Q,enabledPlugins:K,ui:Z}=Y;if(G===i3)throw Error(`Slug "${i3}" is reserved`);if(await X.storage.projects.getBySlug(J,G))throw Error(`Project with slug "${G}" already exists in this organization`);let F=Z?{banner:Z.banner??null,bannerColor:Z.bannerColor??null,icon:Z.icon??null,themeColor:Z.themeColor??null}:null,$=await X.storage.projects.create({organizationId:J,slug:G,name:W,description:Q??null,enabledPlugins:K??null,ui:F});return{project:{id:$.id,organizationId:$.organizationId,slug:$.slug,name:$.name,description:$.description,enabledPlugins:$.enabledPlugins,ui:$.ui,createdAt:$.createdAt instanceof Date?$.createdAt.toISOString():$.createdAt,updatedAt:$.updatedAt instanceof Date?$.updatedAt.toISOString():$.updatedAt}}}})});var Lv1;var KK6=f(()=>{y0();l6();lL();Lv1=v0({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:EY1.nullable().optional().describe("Updated UI customization")}),outputSchema:B.object({project:VU.nullable()}),handler:async(Y,X)=>{r0(X),await X.access.check();let{projectId:J,name:G,description:W,enabledPlugins:Q,ui:K}=Y,Z={};if(G!==void 0)Z.name=G;if(W!==void 0)Z.description=W;if(Q!==void 0)Z.enabledPlugins=Q;if(K!==void 0)Z.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,Z);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 Ov1;var HK6=f(()=>{y0();nX();l6();Ov1=v0({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)=>{r0(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===i3)return{success:!1,message:"Cannot delete the org-admin project"};return{success:await X.storage.projects.delete(J)}}})});var Nv1;var FK6=f(()=>{y0();l6();lL();Nv1=v0({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:TY1.nullable()}),handler:async(Y,X)=>{r0(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 Mv1;var $K6=f(()=>{y0();l6();lL();LY1();Mv1=v0({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:TY1}),handler:async(Y,X)=>{r0(X),await X.access.check();let{projectId:J,pluginId:G,connectionId:W,settings:Q}=Y,K=x5(X),Z=await X.storage.projects.get(J);if(!Z)throw Error(`Project not found: ${J}`);let H=W?await X.storage.connections.findById(W):null;if(W&&Z.organizationId&&!H&&Wj()){if(BY1(W,Z.organizationId)){if(!K)throw Error("User ID required to create dev-assets connection");let $=Qj(Z.organizationId,nH());await X.storage.connections.create({...$,organization_id:Z.organizationId,created_by:K})}}let F=await X.storage.projectPluginConfigs.upsert(J,G,{connectionId:W,settings:Q});return{config:{id:F.id,projectId:F.projectId,pluginId:F.pluginId,connectionId:F.connectionId,settings:F.settings,createdAt:F.createdAt instanceof Date?F.createdAt.toISOString():F.createdAt,updatedAt:F.updatedAt instanceof Date?F.updatedAt.toISOString():F.updatedAt}}}})});var AW8,wv1;var VK6=f(()=>{y0();l6();AW8=B.object({id:B.string(),title:B.string(),icon:B.string().nullable(),connectionType:B.string(),status:B.string()}),wv1=v0({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(AW8)}),handler:async(Y,X)=>{r0(X);let J=H6(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 Q=await X.storage.projectConnections.list(G);return{connections:(await Promise.all(Q.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 Av1;var qK6=f(()=>{y0();l6();Av1=v0({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)=>{r0(X);let J=H6(X);await X.access.check();let{projectId:G,connectionId:W}=Y,Q=await X.storage.projects.get(G);if(!Q||Q.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 Pv1;var zK6=f(()=>{y0();l6();Pv1=v0({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)=>{r0(X);let J=H6(X);await X.access.check();let{projectId:G,connectionId:W}=Y,Q=await X.storage.projects.get(G);if(!Q||Q.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 Z=await X.storage.projectConnections.remove(G,W);if(Q?.ui?.pinnedViews?.length){let H=Q.ui.pinnedViews.filter((F)=>F.connectionId!==W);if(H.length!==Q.ui.pinnedViews.length){let F={...Q.ui,pinnedViews:H.length>0?H:null};await X.storage.projects.update(G,{ui:F})}}return{success:Z}}})});var PW8,Ev1;var UK6=f(()=>{y0();l6();lL();PW8=B.object({connectionId:B.string(),toolName:B.string(),label:B.string(),icon:B.string().nullable()}),Ev1=v0({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(PW8).describe("Pinned views to set for the project sidebar")}),outputSchema:B.object({project:VU.nullable()}),handler:async(Y,X)=>{r0(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},Z=await X.storage.projects.update(J,{ui:K});if(!Z)return{project:null};return{project:{id:Z.id,organizationId:Z.organizationId,slug:Z.slug,name:Z.name,description:Z.description,enabledPlugins:Z.enabledPlugins,ui:Z.ui,createdAt:Z.createdAt instanceof Date?Z.createdAt.toISOString():Z.createdAt,updatedAt:Z.updatedAt instanceof Date?Z.updatedAt.toISOString():Z.updatedAt}}}})});var DK6=f(()=>{WK6();QK6();ZK6();KK6();HK6();FK6();$K6();VK6();qK6();zK6();UK6()});var Tv1;var BK6=f(()=>{y0();l6();Tv1=v0({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)=>{r0(X),await X.access.check();let J=H6(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 Rv1;var LK6=f(()=>{y0();l6();Rv1=v0({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)=>{r0(X),await X.access.check();let J=H6(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 Cv1;var OK6=f(()=>{y0();l6();Cv1=v0({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)=>{r0(X),await X.access.check();let J=H6(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 Iv1;var NK6=f(()=>{y0();l6();Iv1=v0({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)=>{r0(X),await X.access.check();let J=H6(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((Q)=>({...Q,createdAt:Q.createdAt instanceof Date?Q.createdAt.toISOString():String(Q.createdAt)}))}}})});var jv1;var MK6=f(()=>{y0();l6();jv1=v0({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)=>{r0(X),await X.access.check();let J=H6(X);if(!await X.storage.tags.verifyMemberOrg(Y.memberId,J.id))throw Error(`Member not found in this organization: ${Y.memberId}`);for(let Q of Y.tagIds){let K=await X.storage.tags.getTag(Q);if(!K)throw Error(`Tag not found: ${Q}`);if(K.organizationId!==J.id)throw Error(`Tag does not belong to this organization: ${Q}`)}return await X.storage.tags.setMemberTags(Y.memberId,Y.tagIds),{success:!0,tags:(await X.storage.tags.getMemberTags(Y.memberId)).map((Q)=>({...Q,createdAt:Q.createdAt instanceof Date?Q.createdAt.toISOString():String(Q.createdAt)}))}}})});var wK6=f(()=>{BK6();LK6();OK6();NK6();MK6()});var AK6=f(()=>{nX()});var PK6,kV,EK6,TK6;var vA=f(()=>{y0();AK6();PK6=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")}),kV=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([...mP,"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")}),EK6=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")}),TK6=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 RW8,CW8,Sv1;var RK6=f(()=>{y0();l6();vA();Su();RW8=B.object({data:EK6.describe("Data for the new thread (id is auto-generated if not provided)")}),CW8=B.object({item:kV.describe("The created thread entity")}),Sv1=v0({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:RW8,outputSchema:CW8,handler:async(Y,X)=>{r0(X);let J=H6(X);await X.access.check();let G=x5(X);if(!G)throw Error("User ID required to create thread");let W=Y.data.id??hL("thrd"),Q=await X.storage.threads.create({id:W,organization_id:J.id,title:Y.data.title,description:Y.data.description,created_by:G});return{item:{...Q,hidden:Q.hidden??!1}}}})});function dL(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 IW8,jW8,_v1;var CK6=f(()=>{DQ();l6();vA();y0();IW8=wH.extend({where:B.object({created_by:B.string().optional()}).optional()}),jW8=Cq(kV),_v1=v0({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:IW8,outputSchema:jW8,handler:async(Y,X)=>{if(await X.access.check(),!X.auth.user?.id)throw Error("User ID required to list threads");let G=H6(X),W=Y.offset??0,Q=Y.limit??100,K=Y.where?.created_by,{threads:Z,total:H}=await X.storage.threads.list(G.id,K,{limit:Q,offset:W}),F=W+Q<H,$=Date.now();return{items:Z.map((V)=>dL(V,$)),totalCount:H,hasMore:F}}})});var SW8,kv1;var IK6=f(()=>{DQ();l6();vA();SW8=Xy(kV),kv1=v0({name:"COLLECTION_THREADS_GET",description:"Get thread details by ID",annotations:{title:"Get Thread",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:Yy,outputSchema:SW8,handler:async(Y,X)=>{r0(X);let J=H6(X);await X.access.check();let G=await X.storage.threads.get(Y.id);if(!G||G.organization_id!==J.id)return{item:null};return{item:dL(G)}}})});var _W8,kW8,vv1;var jK6=f(()=>{y0();l6();vA();_W8=B.object({id:B.string().describe("ID of the thread to update"),data:TK6.describe("Partial thread data to update")}),kW8=B.object({item:kV.describe("The updated thread entity")}),vv1=v0({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:_W8,outputSchema:kW8,handler:async(Y,X)=>{r0(X);let J=H6(X);await X.access.check();let G=x5(X);if(!G)throw Error("User ID required to update thread");let{id:W,data:Q}=Y,K=await X.storage.threads.get(W);if(!K||K.organization_id!==J.id)throw Error("Thread not found in organization");let Z=await X.storage.threads.update(W,{title:Q.title,description:Q.description,hidden:Q.hidden,updated_by:G});return{item:dL(Z)}}})});var yv1;var SK6=f(()=>{DQ();l6();vA();yv1=v0({name:"COLLECTION_THREADS_DELETE",description:"Delete a thread",annotations:{title:"Delete Thread",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:Jy,outputSchema:Gy(kV),handler:async(Y,X)=>{r0(X);let J=H6(X);await X.access.check();let G=await X.storage.threads.get(Y.id);if(!G)throw Error(`Thread not found: ${Y.id}`);if(G.organization_id!==J.id)throw Error(`Thread not found: ${Y.id}`);return await X.storage.threads.delete(Y.id),{item:dL(G)}}})});function _K6(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=_K6(X);if(J)return J}return null}var vW8,fv1;var kK6=f(()=>{DQ();l6();vA();vW8=Cq(PK6),fv1=v0({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:wH,outputSchema:vW8,handler:async(Y,X)=>{let J=H6(X);await X.access.check();let G=_K6(Y.where);if(!G)throw Error("thread_id filter is required in where clause");let W=await X.storage.threads.get(G);if(!W||W.organization_id!==J.id)return{items:[],totalCount:0,hasMore:!1};let Q=Y.offset??0,K=Y.limit??100,{messages:Z,total:H}=await X.storage.threads.listMessages(G,{limit:K,offset:Q}),F=Q+K<H;return{items:Z,totalCount:H,hasMore:F}}})});var vK6=f(()=>{RK6();CK6();IK6();jK6();SK6();kK6()});var fW8,hW8,hv1;var yK6=f(()=>{y0();l6();fW8=B.object({id:B.string().min(1)}),hW8=B.object({user:B.object({id:B.string(),name:B.string(),email:B.string(),image:B.string().nullable()}).nullable()}),hv1=v0({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:fW8,outputSchema:hW8,handler:async(Y,X)=>{await X.access.check(),r0(X);let J=x5(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 fK6=f(()=>{yK6()});var bK6={};G4(bK6,{managementMCP:()=>uW8,ALL_TOOLS:()=>hK6});var xW8,gW8,hK6,uW8=async(Y)=>{let X=null;if(Y.organization){let W=await Y.storage.organizationSettings.get(Y.organization.id),Q=await Y.storage.projects.list(Y.organization.id),K=new Set(W?.enabled_plugins??[]);for(let Z of Q)if(Z.enabledPlugins)for(let H of Z.enabledPlugins)K.add(H);X=K.size>0?[...K]:null}let J=dW0(hK6,X),G=new lP({name:"mcp-mesh-management",version:"1.0.0"},{capabilities:{tools:{}}});for(let W of J){let Q=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,Z=Q.shape,H=K?.shape;G.registerTool(W.name,{description:W.description??"",inputSchema:Z,outputSchema:H,annotations:W.annotations,_meta:W._meta},async(F)=>{Y.access.setToolName(W.name);try{let $=await W.execute(F,Y);return{content:[{type:"text",text:JSON.stringify($)}],structuredContent:$}}catch($){return{content:[{type:"text",text:`Error: ${$.message}`}],isError:!0}}})}return G};var xK6=f(()=>{ks();ji();y0();mW6();HQ6();QZ6();FZ6();NZ6();RZ6();kZ6();fZ6();cZ6();JK6();DK6();wK6();vK6();fK6();xW8=[Jv1,Gv1,Wv1,Qv1,Zv1,Hv1,Fv1,$v1,Vv1,qv1,zv1,Yk1,Gk1,Wk1,Tk1,Rk1,Ck1,fk1,bk1,xk1,gk1,uk1,mk1,lk1,dk1,ck1,pk1,HZ6,nk1,ik1,rk1,ok1,sk1,tk1,ek1,Yv1,Xv1,n_1,a_1,r_1,i_1,Ik1,jk1,Sk1,_k1,kk1,vk1,yk1,hv1,s_1,t_1,e_1,Sv1,_v1,kv1,vv1,yv1,fv1,Tv1,Rv1,Cv1,Iv1,jv1,Uv1,Dv1,Bv1,Lv1,Ov1,Nv1,Mv1,wv1,Av1,Pv1,Ev1],gW8=cW0(),hK6=[...xW8,...gW8]});function mW8(Y){return[{permissions:{self:["*"]},getTools:async()=>{let{ALL_TOOLS:X}=await Promise.resolve().then(() => (xK6(),bK6));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:HH1(nH(),Y)},{data:KH1()},{data:ZH1(Y)}]}async function gK6(Y,X){try{let J=oI(),G=new S_1(process.env.ENCRYPTION_KEY||""),W=new __1(J.db,G),Q=new k_1(J.db),K=mW8(Y);try{await Q.create({organizationId:Y,slug:i3,name:j2,description:"Organization administration and settings",enabledPlugins:null,ui:null})}catch(Z){console.warn("Could not create org-admin project (may already exist):",Z)}await Promise.all(K.map(async(Z)=>{let H=null;if(Z.permissions)H=(await Vj.api.createApiKey({body:{name:`${Z.data.app_name??crypto.randomUUID()}-mcp`,userId:X,permissions:Z.permissions,rateLimitEnabled:!1,metadata:{organization:{id:Y},purpose:"default-org-connections"}}}))?.key;let F=await eI({id:"pending",title:Z.data.title,connection_type:Z.data.connection_type,connection_url:Z.data.connection_url,connection_token:Z.data.connection_token,connection_headers:Z.data.connection_headers}).catch(()=>null),$=await Z.getTools?.()??F?.tools??null,V=F?.scopes?.length?F.scopes:null,q=Z.data.id?Z.data.id.startsWith(`${Y}_`)?Z.data.id:`${Y}_${Z.data.id}`:void 0;await W.create({...Z.data,id:q,tools:$,configuration_scopes:V,organization_id:Y,created_by:X,connection_token:Z.data.connection_token??H})}))}catch(J){console.error("Error creating default MCP connections:",J)}}var uK6=f(()=>{nX();HY1();yG6();fG6();hG6();VY1();y0();MY1()});var mK6;var lK6=f(()=>{mK6=["owner","admin"]});var lW8=(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"}}}}]}},dK6=(Y)=>{if(Y.providerId==="microsoft")return lW8(Y);throw Error(`Unsupported provider: ${Y.providerId}`)};function dW8(Y){return Y.toLowerCase().trim().replace(/[^a-z0-9\s_-]+/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function cW8(){let Y=Math.floor(Math.random()*pK6.length),X=Math.floor(Math.random()*cK6.length),J=pK6[Y]??"deco",G=cK6[X]??"studio";return`${J}-${G}`}function YQ8(){let Y=[nu],X=new URL(nu);if(X.hostname==="localhost")Y.push(nu.replace("localhost","127.0.0.1"));else if(X.hostname==="127.0.0.1")Y.push(nu.replace("127.0.0.1","localhost"));return Y}var cK6,pK6,pW8,nW8,RY1,iW8,aW8,rW8,nK6,jX,iK6=void 0,bv1=void 0,oW8=!1,sW8,tW8,eW8,nu,Vj;var MY1=f(()=>{EZ0();nD0();IL0();aw1();MO0();wO0();P01();CO0();HY1();j_1();jG6();uK6();lK6();cK6=["labs","agent","studio","workspace","systems","core","cloud","works"],pK6=["capybara","guarana","deco","samba","feijoada","capoeira","carnival"];pW8=Object.values(KO1()).map((Y)=>Y.map((X)=>X.name)).flat(),nW8={...Q01,self:["*",...pW8]},RY1=YV(nW8),iW8=RY1.newRole({self:["*"],...Rb.statements}),aW8=RY1.newRole({self:["*"],...Rb.statements}),rW8=RY1.newRole({self:["*"],...Rb.statements}),nK6=Object.values(KO1()).map((Y)=>Y.map((X)=>`self:${X.name}`)).flat(),jX=w01.auth;if(jX.inviteEmailProviderId&&jX.emailProviders&&jX.emailProviders.length>0){let Y=Iu(jX.emailProviders,jX.inviteEmailProviderId);if(Y){let X=Cu(Y);iK6=async(J)=>{let G=J.inviter.user?.name||J.inviter.user?.email,W=`${nH()}/auth/accept-invitation?invitationId=${J.invitation.id}&redirectTo=/`;await X({to:J.email,subject:`Invitation to join ${J.organization.name}`,html:`
1963
1963
  <h2>You've been invited!</h2>
1964
1964
  <p>${G} has invited you to join <strong>${J.organization.name}</strong>.</p>
1965
1965
  <p><a href="${W}">Click here to accept the invitation</a></p>