@decocms/mesh 2.14.1 → 2.15.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 (147) hide show
  1. package/dist/client/assets/{AlertCircle-CMyS46jH.js → AlertCircle-CIFhWg2i.js} +1 -1
  2. package/dist/client/assets/{ArrowLeft-Dsh9IWd-.js → ArrowLeft-D0vIuW0V.js} +1 -1
  3. package/dist/client/assets/{ArrowUp-CXsDJznS.js → ArrowUp-MjJJcV-O.js} +1 -1
  4. package/dist/client/assets/{Check-BEhtk6Py.js → Check-LvJ1lSFr.js} +1 -1
  5. package/dist/client/assets/{ChevronDown-BRxtl0-A.js → ChevronDown-QF_Tgl2v.js} +1 -1
  6. package/dist/client/assets/{Clock-BSrN61cb.js → Clock-CiIkKpUg.js} +1 -1
  7. package/dist/client/assets/{Code01-Bu5zpyWd.js → Code01-Du8Lx-Uw.js} +1 -1
  8. package/dist/client/assets/{Copy01-B7vmVdHF.js → Copy01-CunLN8rc.js} +1 -1
  9. package/dist/client/assets/{DotsHorizontal-B0iNa4YA.js → DotsHorizontal-WE50knOB.js} +1 -1
  10. package/dist/client/assets/{DotsVertical-CdUtOOoG.js → DotsVertical-CuQjcY-h.js} +1 -1
  11. package/dist/client/assets/{Download01-D1VGE3pA.js → Download01-syi4c4iH.js} +1 -1
  12. package/dist/client/assets/{Edit01-CGqnOdlK.js → Edit01-DVUwOcf8.js} +1 -1
  13. package/dist/client/assets/{File06-De52zO32.js → File06-BM3BX-NC.js} +1 -1
  14. package/dist/client/assets/{FilterLines-ClFUJXZP.js → FilterLines-DS1pmySA.js} +1 -1
  15. package/dist/client/assets/{FlipBackward-B4GimHkg.js → FlipBackward-BKppcJN9.js} +1 -1
  16. package/dist/client/assets/{GitBranch01-B40VcD0l.js → GitBranch01-C3ShOPmQ.js} +1 -1
  17. package/dist/client/assets/{Grid01-CoHgfBeE.js → Grid01-DwtrqYPx.js} +1 -1
  18. package/dist/client/assets/{Home02-Dax6TXzJ.js → Home02-DlsAgg82.js} +1 -1
  19. package/dist/client/assets/{Image01-D_Oad7Fi.js → Image01-Bw2o5F05.js} +1 -1
  20. package/dist/client/assets/{Inbox01-DU8gyK-F.js → Inbox01-CSDhYGLL.js} +1 -1
  21. package/dist/client/assets/{InfoCircle-Na8jygcw.js → InfoCircle-xFKFZGrj.js} +1 -1
  22. package/dist/client/assets/{Key01-BbSMVBZS.js → Key01-S9eZFu7R.js} +1 -1
  23. package/dist/client/assets/{LinkExternal01-5OOaoko1.js → LinkExternal01-Dbxh7ZV2.js} +1 -1
  24. package/dist/client/assets/{List-BXC8ldIg.js → List-D2PJPXod.js} +1 -1
  25. package/dist/client/assets/{Loading01-DxDL3s7X.js → Loading01-BhuF3K1g.js} +1 -1
  26. package/dist/client/assets/{Lock01-C1zaHQP8.js → Lock01-jUZQmYfl.js} +1 -1
  27. package/dist/client/assets/{Play-ClPvjsPL.js → Play-BxDRmyN-.js} +1 -1
  28. package/dist/client/assets/{Plus-WrA7kzKa.js → Plus-DCVckKM0.js} +1 -1
  29. package/dist/client/assets/{SearchMd-JSFwoON0.js → SearchMd-tLR3QB8E.js} +1 -1
  30. package/dist/client/assets/{Terminal-BtV_FLPF.js → Terminal-DwE3k3eb.js} +1 -1
  31. package/dist/client/assets/{Trash01-MX6mkM7g.js → Trash01-Dg5Q9OUO.js} +1 -1
  32. package/dist/client/assets/{Upload01-BGvogcXt.js → Upload01-BJUxi5ck.js} +1 -1
  33. package/dist/client/assets/{X-q5bh176U.js → X-DKF1oh5v.js} +1 -1
  34. package/dist/client/assets/{XClose-D_dGSZ7W.js → XClose-BACMQGhN.js} +1 -1
  35. package/dist/client/assets/{alert-dialog-ocEz50Se.js → alert-dialog-BryTAX-J.js} +2 -2
  36. package/dist/client/assets/{auth-catchall-BJS8UgWt.js → auth-catchall-B3H5JOvc.js} +1 -1
  37. package/dist/client/assets/{avatar-Dtkx4Tl-.js → avatar-BtMYdv0U.js} +1 -1
  38. package/dist/client/assets/{badge-BkSn2oaB.js → badge-Do7WFlPI.js} +1 -1
  39. package/dist/client/assets/{binder-BVHRVoIY.js → binder-B3GXUIAu.js} +1 -1
  40. package/dist/client/assets/{button-CICpj3wE.js → button-ClkQLR3o.js} +1 -1
  41. package/dist/client/assets/{card-BMkFh6vi.js → card-CwMKn79y.js} +1 -1
  42. package/dist/client/assets/{checkbox-DTTIHxXg.js → checkbox-C6hBycBx.js} +1 -1
  43. package/dist/client/assets/{collection-detail-CDCE926k.js → collection-detail-C-m2H10s.js} +2 -2
  44. package/dist/client/assets/{collection-display-button-3hmFOeDC.js → collection-display-button-CdHXoeVD.js} +1 -1
  45. package/dist/client/assets/{collection-header-B6vJy14N.js → collection-header-CeBQhXWy.js} +1 -1
  46. package/dist/client/assets/{collection-page-Dt6I6Mr4.js → collection-page-pMUw63Yr.js} +1 -1
  47. package/dist/client/assets/{collection-search-ClK_cOgs.js → collection-search-CF1o4yO7.js} +1 -1
  48. package/dist/client/assets/{collection-tab-D8CKnWEB.js → collection-tab-ChPNT80-.js} +1 -1
  49. package/dist/client/assets/{collection-table-wrapper-CUsQQB3S.js → collection-table-wrapper-jfSAC6dF.js} +1 -1
  50. package/dist/client/assets/{connection-Mp3hTHGP.js → connection-BcYehfdK.js} +2 -2
  51. package/dist/client/assets/{connection-card-Cm6sQJt-.js → connection-card-DO3ahSdV.js} +1 -1
  52. package/dist/client/assets/connection-detail-i_lj-oMr.js +1 -0
  53. package/dist/client/assets/{connections-BXBUh1-5.js → connections-CMzrwOZS.js} +1 -1
  54. package/dist/client/assets/constants-BIwbIZhE.js +1 -0
  55. package/dist/client/assets/create-organization-dialog-BydMMM5g.js +1 -0
  56. package/dist/client/assets/{dialog-CuzZhGeu.js → dialog-Y0g8yyzz.js} +1 -1
  57. package/dist/client/assets/{dropdown-menu-D1uHrxpy.js → dropdown-menu-C4Ypstre.js} +1 -1
  58. package/dist/client/assets/{dynamic-plugin-layout-BWtm_52W.js → dynamic-plugin-layout-Cds2rM_Z.js} +1 -1
  59. package/dist/client/assets/{empty-state-B8LlErgw.js → empty-state-C0gi-aAx.js} +1 -1
  60. package/dist/client/assets/{empty-state-BhACvnGF.js → empty-state-Dx0NLAxy.js} +1 -1
  61. package/dist/client/assets/env-vars-editor-GTn7Eu5T.js +1 -0
  62. package/dist/client/assets/{error-boundary-u4ffWLYf.js → error-boundary-D2ZJQHnD.js} +1 -1
  63. package/dist/client/assets/{extract-connection-data-DSV8dsp9.js → extract-connection-data-nsOyk4eb.js} +1 -1
  64. package/dist/client/assets/{file-browser-CZ1PEthx.js → file-browser-s8pLbWaW.js} +2 -2
  65. package/dist/client/assets/{form-f0_t6ok_.js → form-DDdl0439.js} +1 -1
  66. package/dist/client/assets/{gateway-detail-D4FxMVxj.js → gateway-detail-NHGkjgTy.js} +1 -1
  67. package/dist/client/assets/{gateways-DjekxeB3.js → gateways-Bv1uyRdE.js} +1 -1
  68. package/dist/client/assets/{grid-view-BYe4Rwz4.js → grid-view-DNPq1Y__.js} +1 -1
  69. package/dist/client/assets/{home-C6GUJREk.js → home-9eTtEa0h.js} +1 -1
  70. package/dist/client/assets/{index-pvGhQBw9.js → index-C5FDJtAp.js} +2 -2
  71. package/dist/client/assets/{index-CFMXrMRQ.js → index-Cbsnfme0.js} +1 -1
  72. package/dist/client/assets/{index-DB3GMPX_.js → index-D6aVJNvm.js} +1 -1
  73. package/dist/client/assets/{index-BrOzWsZC.js → index-DqVdeyIE.js} +1 -1
  74. package/dist/client/assets/index-JAPwCHXJ.css +1 -0
  75. package/dist/client/assets/index-hEHbC4y4.js +88 -0
  76. package/dist/client/assets/{infiniteQueryObserver-DjOTL7tS.js → infiniteQueryObserver-BnxPLCEe.js} +1 -1
  77. package/dist/client/assets/{input-Chnnz9Uq.js → input-BbWUShhD.js} +1 -1
  78. package/dist/client/assets/{layout-CE7L7dZF.js → layout-BnqnCJOk.js} +1 -1
  79. package/dist/client/assets/{lazy-highlighter-HM0cmsZA.js → lazy-highlighter-BHJogLPz.js} +1 -1
  80. package/dist/client/assets/{localstorage-keys-CdhAbc7P.js → localstorage-keys-BZEjwsD0.js} +1 -1
  81. package/dist/client/assets/{login-D-qtMr1_.js → login-DGLLQl3L.js} +1 -1
  82. package/dist/client/assets/{mcp-oauth-Bkju1UsK.js → mcp-oauth-CkuEWYY4.js} +1 -1
  83. package/dist/client/assets/{mcp-server-card-CsdbMsCj.js → mcp-server-card-D4bCdTAY.js} +1 -1
  84. package/dist/client/assets/{mcp-server-detail-BI6WT6NT.js → mcp-server-detail-Cy2l0hPz.js} +1 -1
  85. package/dist/client/assets/{members-DIF2fQ00.js → members-CXuNIHGD.js} +2 -2
  86. package/dist/client/assets/{monaco-editor--HoIUuQe.js → monaco-editor-BnXEGbzY.js} +4 -4
  87. package/dist/client/assets/{monitoring-Gwgg901f.js → monitoring-vPlAvNfN.js} +2 -2
  88. package/dist/client/assets/{oauth-callback-C8OVySGi.js → oauth-callback-I_aRwsB5.js} +1 -1
  89. package/dist/client/assets/{page-rpmGCt1t.js → page-DPsdZaOi.js} +1 -1
  90. package/dist/client/assets/page-fWJ76jbj.js +35 -0
  91. package/dist/client/assets/{pin-to-sidebar-button--fqmK37a.js → pin-to-sidebar-button-DTR_Oj1s.js} +1 -1
  92. package/dist/client/assets/{plugin-empty-state-BPlieumE.js → plugin-empty-state-RYQHQ0B6.js} +1 -1
  93. package/dist/client/assets/{plugin-header-CcEHY2ra.js → plugin-header-BPW1tb_d.js} +1 -1
  94. package/dist/client/assets/{plugins-BR7M1iih.js → plugins-DN4-aMVD.js} +1 -1
  95. package/dist/client/assets/{popover-Cq8T_QGa.js → popover-DLFe45bO.js} +1 -1
  96. package/dist/client/assets/{project-context-provider-CUiGxKJp.js → project-context-provider-DH0iqA5D.js} +1 -1
  97. package/dist/client/assets/{registry-utils-h9Ud__h7.js → registry-utils-BPPApxjf.js} +1 -1
  98. package/dist/client/assets/{resizable-S6LzYu6C.js → resizable-C6uSLZAk.js} +1 -1
  99. package/dist/client/assets/{resource-tabs-Blq_ajNW.js → resource-tabs-CKatVKnl.js} +1 -1
  100. package/dist/client/assets/select-CSzUpxmC.js +1 -0
  101. package/dist/client/assets/{settings-C0Cv06sV.js → settings-Dk6-Mm8r.js} +1 -1
  102. package/dist/client/assets/shell-layout-P7XxC3ZF.js +3 -0
  103. package/dist/client/assets/{spinner-BSgPnpsR.js → spinner-CUAQv_4V.js} +1 -1
  104. package/dist/client/assets/{standalone-Cva4pL7v.js → standalone-Cutp_BhH.js} +1 -1
  105. package/dist/client/assets/{switch-CkVmNhCD.js → switch-ZAqg3LbP.js} +1 -1
  106. package/dist/client/assets/{textarea-BgUJNVXI.js → textarea-BDJhX5-9.js} +1 -1
  107. package/dist/client/assets/{tool-set-selector-BVPKiJOI.js → tool-set-selector-D26m7PpE.js} +1 -1
  108. package/dist/client/assets/{tools-list-DsOacuX3.js → tools-list-pl3Bsjpf.js} +1 -1
  109. package/dist/client/assets/{tooltip-DySBr2SY.js → tooltip-DXYcokUT.js} +1 -1
  110. package/dist/client/assets/use-binding-Cmi2FEqF.js +23 -0
  111. package/dist/client/assets/{use-collections-JQXbZBdV.js → use-collections-DxMxR_jZ.js} +1 -1
  112. package/dist/client/assets/{use-connection-BF1UFzlw.js → use-connection-ClVfoZWG.js} +1 -1
  113. package/dist/client/assets/{use-connection-resources-D5d-M6jn.js → use-connection-resources-nXRlJNhx.js} +1 -1
  114. package/dist/client/assets/{use-create-gateway-DLr-GNpv.js → use-create-gateway-UkmAQbcu.js} +1 -1
  115. package/dist/client/assets/{use-gateway-B5GGqvj7.js → use-gateway-D_zdUoI4.js} +1 -1
  116. package/dist/client/assets/{use-gateway-system-prompt-K6FCpGjs.js → use-gateway-system-prompt-CYi0Zo4K.js} +1 -1
  117. package/dist/client/assets/{use-list-state-BkPjBg3I.js → use-list-state-G6sniPDx.js} +1 -1
  118. package/dist/client/assets/{use-mcp-C-3NLCFo.js → use-mcp-hlkUt7pz.js} +1 -1
  119. package/dist/client/assets/{use-members-B9HW4lZd.js → use-members-3RqzErHO.js} +1 -1
  120. package/dist/client/assets/{use-mobile-zhrv6Pzr.js → use-mobile-DT1cwytU.js} +1 -1
  121. package/dist/client/assets/use-model-state-Bc4MpPVu.js +20 -0
  122. package/dist/client/assets/{use-organization-settings-DTSCQFPr.js → use-organization-settings-D46q7SyU.js} +1 -1
  123. package/dist/client/assets/{use-tool-call-BMUEJvVc.js → use-tool-call-BH-yOcTy.js} +1 -1
  124. package/dist/client/assets/useInfiniteQuery-Dl93eV8h.js +1 -0
  125. package/dist/client/assets/{useMutation-B64mCwly.js → useMutation-DEocBykZ.js} +1 -1
  126. package/dist/client/assets/useQuery-Dakt0IBq.js +1 -0
  127. package/dist/client/assets/{value-DvmerOpY.js → value-C9Bb1t7X.js} +1 -1
  128. package/dist/client/assets/{view-mode-toggle-DXknlAX3.js → view-mode-toggle-C5hz9T3M.js} +1 -1
  129. package/dist/client/assets/{workflow-Bi0pfrEf.js → workflow-BJoyVBBY.js} +1 -1
  130. package/dist/client/index.html +2 -2
  131. package/dist/server/cli.js +164 -157
  132. package/dist/server/migrate.js +130 -123
  133. package/dist/server/server.js +160 -153
  134. package/package.json +1 -1
  135. package/dist/client/assets/connection-detail-CS7YtOxG.js +0 -1
  136. package/dist/client/assets/constants-DsV2FGIq.js +0 -1
  137. package/dist/client/assets/create-organization-dialog-Kd2yuwpA.js +0 -1
  138. package/dist/client/assets/env-vars-editor-BSBPtnyc.js +0 -1
  139. package/dist/client/assets/index-BZk2eMPx.js +0 -88
  140. package/dist/client/assets/index-fFpUC2Bx.css +0 -1
  141. package/dist/client/assets/page-BthOOB1S.js +0 -35
  142. package/dist/client/assets/select-BOEg6aAK.js +0 -1
  143. package/dist/client/assets/shell-layout-BRSb3To9.js +0 -3
  144. package/dist/client/assets/thread-history-popover-SCaQRi-L.js +0 -20
  145. package/dist/client/assets/use-binding-s4bqKdJA.js +0 -23
  146. package/dist/client/assets/useInfiniteQuery-qVzxuL4i.js +0 -1
  147. package/dist/client/assets/useQuery-Dr4r_H_i.js +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@decocms/mesh",
3
- "version": "2.14.1",
3
+ "version": "2.15.0",
4
4
  "description": "MCP Mesh - Self-hostable MCP Gateway for managing AI connections and tools",
5
5
  "author": "Deco team",
6
6
  "license": "MIT",
@@ -1 +0,0 @@
1
- import{c as q,j as o,f as W,k as J,r as z,d as ce,b as le,ar as ae}from"./index-pvGhQBw9.js";import{E as F,I as Q}from"./empty-state-B8LlErgw.js";import{E as X}from"./error-boundary-u4ffWLYf.js";import{b as G,a as me}from"./use-connection-BF1UFzlw.js";import{b as de}from"./use-binding-s4bqKdJA.js";import{u as ue,S as pe}from"./index-CFMXrMRQ.js";import{u as fe,a as he}from"./use-connection-resources-D5d-M6jn.js";import{B as xe}from"./button-CICpj3wE.js";import{i as Y}from"./Loading01-DxDL3s7X.js";import{R as ge}from"./resource-tabs-Blq_ajNW.js";import{V as Z,a as be,b as je}from"./layout-CE7L7dZF.js";import{C as ye}from"./collection-tab-D8CKnWEB.js";import{C as ee}from"./collection-display-button-3hmFOeDC.js";import{C as te}from"./collection-search-ClK_cOgs.js";import{C as oe}from"./collection-table-wrapper-CUsQQB3S.js";import{P as se}from"./pin-to-sidebar-button--fqmK37a.js";import{C as ne}from"./card-BMkFh6vi.js";import{R as Se,T as Ce}from"./tools-list-DsOacuX3.js";import"./connection-Mp3hTHGP.js";import"./project-context-provider-CUiGxKJp.js";import"./use-collections-JQXbZBdV.js";import"./useMutation-B64mCwly.js";import"./binder-BVHRVoIY.js";import"./mcp-oauth-Bkju1UsK.js";import"./env-vars-editor-BSBPtnyc.js";import"./input-Chnnz9Uq.js";import"./Plus-WrA7kzKa.js";import"./Trash01-MX6mkM7g.js";import"./use-tool-call-BMUEJvVc.js";import"./useQuery-Dr4r_H_i.js";import"./File06-De52zO32.js";import"./Key01-BbSMVBZS.js";import"./badge-BkSn2oaB.js";import"./form-f0_t6ok_.js";import"./select-BOEg6aAK.js";import"./tooltip-DySBr2SY.js";import"./Check-BEhtk6Py.js";import"./ChevronDown-BRxtl0-A.js";import"./extract-connection-data-DSV8dsp9.js";import"./constants-DsV2FGIq.js";import"./github-icon-Dp3wHhYE.js";import"./registry-utils-h9Ud__h7.js";import"./generate-id-Dyweu44Y.js";import"./Terminal-BtV_FLPF.js";import"./use-gateway-B5GGqvj7.js";import"./Grid01-CoHgfBeE.js";import"./index-BrOzWsZC.js";import"./index-DB3GMPX_.js";import"./index-BZk2eMPx.js";import"./popover-Cq8T_QGa.js";import"./SearchMd-JSFwoON0.js";import"./use-create-gateway-DLr-GNpv.js";import"./AlertCircle-CMyS46jH.js";import"./X-q5bh176U.js";import"./ArrowUp-CXsDJznS.js";import"./textarea-BgUJNVXI.js";import"./localstorage-keys-CdhAbc7P.js";import"./Copy01-B7vmVdHF.js";import"./monaco-editor--HoIUuQe.js";import"./spinner-BSgPnpsR.js";import"./alert-dialog-ocEz50Se.js";import"./use-mobile-zhrv6Pzr.js";import"./Image01-D_Oad7Fi.js";import"./InfoCircle-Na8jygcw.js";import"./ArrowLeft-Dsh9IWd-.js";import"./dropdown-menu-D1uHrxpy.js";import"./DotsVertical-CdUtOOoG.js";import"./Edit01-CGqnOdlK.js";import"./use-list-state-BkPjBg3I.js";import"./empty-state-BhACvnGF.js";import"./Inbox01-DU8gyK-F.js";import"./avatar-Dtkx4Tl-.js";import"./List-BXC8ldIg.js";import"./view-mode-toggle-DXknlAX3.js";import"./use-organization-settings-DTSCQFPr.js";function ve(t){const e=q.c(42),{prompts:r,connectionId:n,org:s,connectionTitle:l,connectionIcon:f,onPromptClick:j,showToolbar:g,emptyMessage:N}=t,V=g===void 0?!0:g,L=N===void 0?"This connection doesn't have any prompts yet.":N,u=W(),y=J().location.href,[p,i]=z.useState(""),[w,a]=z.useState("table"),[h,k]=z.useState("name"),[d,_]=z.useState("asc");let b;e[0]!==d||e[1]!==h?(b=x=>{h===x?(_(Ie),d==="desc"&&k(void 0)):(k(x),_("asc"))},e[0]=d,e[1]=h,e[2]=b):b=e[2];const T=b;let P;e[3]!==n||e[4]!==u||e[5]!==j||e[6]!==s?(P=x=>{j?j(x):n&&s&&u({to:"/$org/mcps/$connectionId/$collectionName/$itemId",params:{org:s,connectionId:n,collectionName:"prompts",itemId:encodeURIComponent(x.name)}})},e[3]=n,e[4]=u,e[5]=j,e[6]=s,e[7]=P):P=e[7];const A=P;let B;if(e[8]!==r||e[9]!==p||e[10]!==d||e[11]!==h){const x=!r||r.length===0?[]:p.trim()?(()=>{const S=p.toLowerCase();return r.filter(U=>U.name.toLowerCase().includes(S)||U.description&&U.description.toLowerCase().includes(S))})():r;B=!h||!d?x:[...x].sort((S,U)=>{const re=S[h]||"",ie=U[h]||"",H=String(re).localeCompare(String(ie));return d==="asc"?H:-H}),e[8]=r,e[9]=p,e[10]=d,e[11]=h,e[12]=B}else B=e[12];const m=B;let O;e[13]===Symbol.for("react.memo_cache_sentinel")?(O=[{id:"name",header:"Name",render:$e,sortable:!0},{id:"description",header:"Description",render:Te,cellClassName:"flex-1",sortable:!0}],e[13]=O):O=e[13];const E=O;let M;e[14]===Symbol.for("react.memo_cache_sentinel")?(M=E.filter(we).map(Ne),e[14]=M):M=e[14];const D=M;let $;e[15]!==f||e[16]!==l||e[17]!==T||e[18]!==V||e[19]!==d||e[20]!==h||e[21]!==y||e[22]!==w?($=V&&o.jsxs(Z,{children:[o.jsx(ee,{viewMode:w,onViewModeChange:a,sortKey:h,sortDirection:d,onSort:T,sortOptions:D}),o.jsx(se,{title:l?`${l}: Prompts`:"Prompts",url:y,icon:f??"description"})]}),e[15]=f,e[16]=l,e[17]=T,e[18]=V,e[19]=d,e[20]=h,e[21]=y,e[22]=w,e[23]=$):$=e[23];let I;e[24]===Symbol.for("react.memo_cache_sentinel")?(I=x=>{x.key==="Escape"&&(i(""),x.target.blur())},e[24]=I):I=e[24];let R;e[25]!==p?(R=o.jsx(te,{value:p,onChange:i,placeholder:"Search prompts...",onKeyDown:I}),e[25]=p,e[26]=R):R=e[26];let c;e[27]!==L||e[28]!==A||e[29]!==T||e[30]!==p||e[31]!==d||e[32]!==h||e[33]!==m||e[34]!==w?(c=w==="cards"?o.jsx("div",{className:"flex-1 overflow-auto p-5",children:m.length===0?o.jsx(F,{image:null,title:p?"No prompts found":"No prompts available",description:p?"Try adjusting your search terms":L}):o.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 lg:grid-cols-4 gap-4",children:m.map(x=>o.jsx(ne,{className:"cursor-pointer transition-colors",onClick:()=>A(x),children:o.jsxs("div",{className:"flex flex-col gap-4 p-6",children:[o.jsx(Q,{icon:null,name:x.name,size:"md",className:"shrink-0 shadow-sm"}),o.jsxs("div",{className:"flex flex-col gap-0",children:[o.jsx("h3",{className:"text-base font-medium text-foreground truncate",children:x.name}),o.jsx("p",{className:"text-base text-muted-foreground line-clamp-2",children:x.description||"No description"})]})]})},x.name))})}):o.jsx(oe,{columns:E,data:m,isLoading:!1,sortKey:h,sortDirection:d,onSort:T,onRowClick:x=>A(x),emptyState:o.jsx(F,{image:null,title:p?"No prompts found":"No prompts available",description:p?"Try adjusting your search terms":L})}),e[27]=L,e[28]=A,e[29]=T,e[30]=p,e[31]=d,e[32]=h,e[33]=m,e[34]=w,e[35]=c):c=e[35];let C;e[36]!==R||e[37]!==c?(C=o.jsxs("div",{className:"flex flex-col h-full overflow-hidden",children:[R,c]}),e[36]=R,e[37]=c,e[38]=C):C=e[38];let v;return e[39]!==C||e[40]!==$?(v=o.jsxs(o.Fragment,{children:[$,C]}),e[39]=C,e[40]=$,e[41]=v):v=e[41],v}function Ne(t){return{id:t.id,label:typeof t.header=="string"?t.header:t.id}}function we(t){return t.sortable}function Te(t){return o.jsx("span",{className:"text-sm text-foreground",children:t.description||"—"})}function $e(t){return o.jsx("span",{className:"text-sm font-medium font-mono text-foreground",children:t.name})}function Ie(t){return t==="asc"?"desc":t==="desc"?null:"asc"}function Re(t){const e=q.c(6),{prompts:r,connectionId:n,org:s}=t,l=G(n),f=l?.title,j=l?.icon;let g;return e[0]!==n||e[1]!==s||e[2]!==r||e[3]!==f||e[4]!==j?(g=o.jsx(ve,{prompts:r,connectionId:n,org:s,connectionTitle:f,connectionIcon:j}),e[0]=n,e[1]=s,e[2]=r,e[3]=f,e[4]=j,e[5]=g):g=e[5],g}function ke(t){const e=q.c(2),{repository:r}=t;let n;return e[0]!==r?(n=o.jsx("div",{className:"flex-1 overflow-y-auto bg-background",children:o.jsx(Se,{repository:r})}),e[0]=r,e[1]=n):n=e[1],n}function _e(t){const e=q.c(39),{resources:r,connectionTitle:n,connectionIcon:s,onResourceClick:l,showToolbar:f,emptyMessage:j}=t,g=f===void 0?!0:f,N=j===void 0?"This connection doesn't have any resources yet.":j,L=J().location.href,[u,K]=z.useState(""),[y,p]=z.useState("table"),[i,w]=z.useState("name"),[a,h]=z.useState("asc");let k;e[0]!==a||e[1]!==i?(k=c=>{i===c?(h(De),a==="desc"&&w(void 0)):(w(c),h("asc"))},e[0]=a,e[1]=i,e[2]=k):k=e[2];const d=k;let _;e[3]!==l?(_=c=>{l&&l(c)},e[3]=l,e[4]=_):_=e[4];const b=_;let T;if(e[5]!==r||e[6]!==u||e[7]!==a||e[8]!==i){const c=!r||r.length===0?[]:u.trim()?(()=>{const C=u.toLowerCase();return r.filter(v=>v.uri.toLowerCase().includes(C)||v.name&&v.name.toLowerCase().includes(C)||v.description&&v.description.toLowerCase().includes(C))})():r;T=!i||!a?c:[...c].sort((C,v)=>{const x=C[i]||"",S=v[i]||"",U=String(x).localeCompare(String(S));return a==="asc"?U:-U}),e[5]=r,e[6]=u,e[7]=a,e[8]=i,e[9]=T}else T=e[9];const P=T;let A;e[10]===Symbol.for("react.memo_cache_sentinel")?(A=[{id:"name",header:"Name",render:Ae,sortable:!0},{id:"uri",header:"URI",render:Me,sortable:!0},{id:"description",header:"Description",render:Ee,cellClassName:"flex-1",sortable:!0},{id:"mimeType",header:"Type",render:Le,sortable:!0}],e[10]=A):A=e[10];const B=A;let m;e[11]===Symbol.for("react.memo_cache_sentinel")?(m=B.filter(Ve).map(Pe),e[11]=m):m=e[11];const O=m;let E;e[12]!==s||e[13]!==n||e[14]!==d||e[15]!==g||e[16]!==a||e[17]!==i||e[18]!==L||e[19]!==y?(E=g&&o.jsxs(Z,{children:[o.jsx(ee,{viewMode:y,onViewModeChange:p,sortKey:i,sortDirection:a,onSort:d,sortOptions:O}),o.jsx(se,{title:n?`${n}: Resources`:"Resources",url:L,icon:s??"folder"})]}),e[12]=s,e[13]=n,e[14]=d,e[15]=g,e[16]=a,e[17]=i,e[18]=L,e[19]=y,e[20]=E):E=e[20];let M;e[21]===Symbol.for("react.memo_cache_sentinel")?(M=c=>{c.key==="Escape"&&(K(""),c.target.blur())},e[21]=M):M=e[21];let D;e[22]!==u?(D=o.jsx(te,{value:u,onChange:K,placeholder:"Search resources...",onKeyDown:M}),e[22]=u,e[23]=D):D=e[23];let $;e[24]!==N||e[25]!==b||e[26]!==d||e[27]!==u||e[28]!==a||e[29]!==i||e[30]!==P||e[31]!==y?($=y==="cards"?o.jsx("div",{className:"flex-1 overflow-auto p-5",children:P.length===0?o.jsx(F,{image:null,title:u?"No resources found":"No resources available",description:u?"Try adjusting your search terms":N}):o.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 lg:grid-cols-4 gap-4",children:P.map(c=>o.jsx(ne,{className:"cursor-pointer transition-colors",onClick:()=>b(c),children:o.jsxs("div",{className:"flex flex-col gap-4 p-6",children:[o.jsx(Q,{icon:null,name:c.name||c.uri,size:"md",className:"shrink-0 shadow-sm"}),o.jsxs("div",{className:"flex flex-col gap-1",children:[o.jsx("h3",{className:"text-base font-medium text-foreground truncate",children:c.name||c.uri}),o.jsx("p",{className:"text-xs font-mono text-muted-foreground truncate",children:c.uri}),c.description&&o.jsx("p",{className:"text-sm text-muted-foreground line-clamp-2 mt-1",children:c.description})]})]})},c.uri))})}):o.jsx(oe,{columns:B,data:P,isLoading:!1,sortKey:i,sortDirection:a,onSort:d,onRowClick:c=>b(c),emptyState:o.jsx(F,{image:null,title:u?"No resources found":"No resources available",description:u?"Try adjusting your search terms":N})}),e[24]=N,e[25]=b,e[26]=d,e[27]=u,e[28]=a,e[29]=i,e[30]=P,e[31]=y,e[32]=$):$=e[32];let I;e[33]!==D||e[34]!==$?(I=o.jsxs("div",{className:"flex flex-col h-full overflow-hidden",children:[D,$]}),e[33]=D,e[34]=$,e[35]=I):I=e[35];let R;return e[36]!==I||e[37]!==E?(R=o.jsxs(o.Fragment,{children:[E,I]}),e[36]=I,e[37]=E,e[38]=R):R=e[38],R}function Pe(t){return{id:t.id,label:typeof t.header=="string"?t.header:t.id}}function Ve(t){return t.sortable}function Le(t){return o.jsx("span",{className:"text-sm text-muted-foreground",children:t.mimeType||"—"})}function Ee(t){return o.jsx("span",{className:"text-sm text-foreground",children:t.description||"—"})}function Me(t){return o.jsx("span",{className:"text-sm font-mono text-muted-foreground",children:t.uri})}function Ae(t){return o.jsx("span",{className:"text-sm font-medium text-foreground",children:t.name||t.uri})}function De(t){return t==="asc"?"desc":t==="desc"?null:"asc"}function Be(t){const e=q.c(6),{resources:r,connectionId:n,org:s}=t,l=G(n),f=l?.title,j=l?.icon;let g;return e[0]!==n||e[1]!==s||e[2]!==r||e[3]!==f||e[4]!==j?(g=o.jsx(_e,{resources:r,connectionId:n,org:s,connectionTitle:f,connectionIcon:j}),e[0]=n,e[1]=s,e[2]=r,e[3]=f,e[4]=j,e[5]=g):g=e[5],g}function Ue(t){const e=q.c(4),{tools:r,connectionId:n,org:s}=t;let l;return e[0]!==n||e[1]!==s||e[2]!==r?(l=o.jsx(Ce,{tools:r,connectionId:n,org:s}),e[0]=n,e[1]=s,e[2]=r,e[3]=l):l=e[3],l}function Ke(t){const e=q.c(61),{connection:r,connectionId:n,org:s,requestedTabId:l,collections:f,onUpdate:j,isUpdating:g,prompts:N,resources:V}=t,L=ae();let u;e[0]===Symbol.for("react.memo_cache_sentinel")?(u={from:"/$org/mcps/$connectionId"},e[0]=u):u=e[0];const K=W(u);let y;e[1]!==n?(y={connectionId:n},e[1]=n,e[2]=y):y=e[2];const p=ue(y),i=p.isAuthenticated,w=r?.metadata?.repository,a=!!w?.url,h=r?.tools?.length??0,k=N.length,d=V.length;let _;e[3]===Symbol.for("react.memo_cache_sentinel")?(_={id:"settings",label:"Settings"},e[3]=_):_=e[3];let b;e[4]!==i||e[5]!==h?(b=i&&h>0?[{id:"tools",label:"Tools",count:h}]:[],e[4]=i,e[5]=h,e[6]=b):b=e[6];let T;e[7]!==i||e[8]!==k?(T=i&&k>0?[{id:"prompts",label:"Prompts",count:k}]:[],e[7]=i,e[8]=k,e[9]=T):T=e[9];let P;e[10]!==i||e[11]!==d?(P=i&&d>0?[{id:"resources",label:"Resources",count:d}]:[],e[10]=i,e[11]=d,e[12]=P):P=e[12];let A;if(e[13]!==f||e[14]!==a||e[15]!==i||e[16]!==b||e[17]!==T||e[18]!==P){let S;e[20]!==a?(S=a?[{id:"readme",label:"README"}]:[],e[20]=a,e[21]=S):S=e[21],A=[_,...b,...T,...P,...i?(f||[]).map(Oe):[],...S],e[13]=f,e[14]=a,e[15]=i,e[16]=b,e[17]=T,e[18]=P,e[19]=A}else A=e[19];const B=A,m=B.some(S=>S.id===l)?l:"settings";let O;e[22]!==K?(O=S=>{K({search:U=>({...U,tab:S}),replace:!0})},e[22]=K,e[23]=O):O=e[23];const E=O;let M;e[24]!==f?(M=f||[],e[24]=f,e[25]=M):M=e[25];let D;if(e[26]!==m||e[27]!==M){let S;e[29]!==m?(S=U=>U.name===m,e[29]=m,e[30]=S):S=e[30],D=M.find(S),e[26]=m,e[27]=M,e[28]=D}else D=e[28];const $=D;let I;e[31]!==L.history?(I=()=>L.history.back(),e[31]=L.history,e[32]=I):I=e[32];let R;e[33]!==m||e[34]!==E||e[35]!==B?(R=o.jsx(be,{children:o.jsx(ge,{tabs:B,activeTab:m,onTabChange:E})}),e[33]=m,e[34]=E,e[35]=B,e[36]=R):R=e[36];let c;e[37]===Symbol.for("react.memo_cache_sentinel")?(c=o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Y,{size:32,className:"animate-spin text-muted-foreground"})}),e[37]=c):c=e[37];let C;e[38]!==$||e[39]!==m||e[40]!==p.isServerError||e[41]!==p.supportsOAuth||e[42]!==r||e[43]!==n||e[44]!==E||e[45]!==a||e[46]!==i||e[47]!==g||e[48]!==j||e[49]!==s||e[50]!==N||e[51]!==w||e[52]!==V?(C=o.jsx(z.Suspense,{fallback:c,children:m==="tools"?o.jsx(Ue,{tools:r.tools??void 0,connectionId:n,org:s}):m==="prompts"?o.jsx(Re,{prompts:N,connectionId:n,org:s}):m==="resources"?o.jsx(Be,{resources:V,connectionId:n,org:s}):m==="settings"?o.jsx(pe,{connection:r,onUpdate:j,isUpdating:g,isMCPAuthenticated:i,supportsOAuth:p.supportsOAuth,isServerError:p.isServerError,onViewReadme:a?()=>E("readme"):void 0}):m==="readme"&&a?o.jsx(ke,{repository:w}):$&&i?o.jsx(ye,{connectionId:n,org:s,activeCollection:$},m):o.jsx(F,{title:"Collection not found",description:"This collection may have been deleted or you may not have access."})}),e[38]=$,e[39]=m,e[40]=p.isServerError,e[41]=p.supportsOAuth,e[42]=r,e[43]=n,e[44]=E,e[45]=a,e[46]=i,e[47]=g,e[48]=j,e[49]=s,e[50]=N,e[51]=w,e[52]=V,e[53]=C):C=e[53];let v;e[54]!==m||e[55]!==C?(v=o.jsx("div",{className:"flex h-full w-full bg-background overflow-hidden",children:o.jsx("div",{className:"flex-1 flex flex-col min-w-0 bg-background overflow-auto",children:o.jsx(X,{children:C},m)})}),e[54]=m,e[55]=C,e[56]=v):v=e[56];let x;return e[57]!==I||e[58]!==R||e[59]!==v?(x=o.jsxs(je,{onBack:I,children:[R,v]}),e[57]=I,e[58]=R,e[59]=v,e[60]=x):x=e[60],x}function Oe(t){return{id:t.name,label:t.displayName}}function ze(){const t=q.c(29);let e;t[0]===Symbol.for("react.memo_cache_sentinel")?(e={from:"/$org/mcps/$connectionId"},t[0]=e):e=t[0];const r=W(e);let n;t[1]===Symbol.for("react.memo_cache_sentinel")?(n={from:"/shell/$org/mcps/$connectionId"},t[1]=n):n=t[1];const{connectionId:s,org:l}=ce(n);let f;t[2]===Symbol.for("react.memo_cache_sentinel")?(f={from:"/shell/$org/mcps/$connectionId"},t[2]=f):f=t[2];const g=le(f).tab||"settings",N=G(s),V=me(),L=de(N??void 0);let u;t[3]!==s?(u=[s],t[3]=s,t[4]=u):u=t[4];const{promptsMap:K}=fe(u);let y;t[5]!==s?(y=[s],t[5]=s,t[6]=y):y=t[6];const{resourcesMap:p}=he(y);let i;t[7]!==s||t[8]!==K?(i=K.get(s)??[],t[7]=s,t[8]=K,t[9]=i):i=t[9];const w=i;let a;t[10]!==s||t[11]!==p?(a=p.get(s)??[],t[10]=s,t[11]=p,t[12]=a):a=t[12];const h=a;let k;t[13]!==V.update||t[14]!==s?(k=async b=>{await V.update.mutateAsync({id:s,data:b})},t[13]=V.update,t[14]=s,t[15]=k):k=t[15];const d=k;if(!N){let b;return t[16]!==r||t[17]!==l?(b=o.jsx("div",{className:"flex h-full w-full bg-background",children:o.jsx(F,{title:"Connection not found",description:"This connection may have been deleted or you may not have access.",actions:o.jsx(xe,{variant:"outline",onClick:()=>r({to:"/$org/mcps",params:{org:l}}),children:"Back to connections"})})}),t[16]=r,t[17]=l,t[18]=b):b=t[18],b}let _;return t[19]!==V.update.isPending||t[20]!==L||t[21]!==N||t[22]!==s||t[23]!==d||t[24]!==l||t[25]!==w||t[26]!==g||t[27]!==h?(_=o.jsx(Ke,{org:l,connection:N,connectionId:s,requestedTabId:g,collections:L,onUpdate:d,isUpdating:V.update.isPending,prompts:w,resources:h}),t[19]=V.update.isPending,t[20]=L,t[21]=N,t[22]=s,t[23]=d,t[24]=l,t[25]=w,t[26]=g,t[27]=h,t[28]=_):_=t[28],_}function qe(){const t=q.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=o.jsx(X,{children:o.jsx(z.Suspense,{fallback:o.jsx("div",{className:"flex h-full items-center justify-center bg-background",children:o.jsx(Y,{size:32,className:"animate-spin text-muted-foreground"})}),children:o.jsx(ze,{})})}),t[0]=e):e=t[0],e}function po(){const t=q.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=o.jsx(qe,{}),t[0]=e):e=t[0],e}export{po as default};
@@ -1 +0,0 @@
1
- import{I as t,bm as a}from"./index-pvGhQBw9.js";const e="mcp.mesh",s=t(a,{target:"draft-7"});export{s as B,e as M};
@@ -1 +0,0 @@
1
- import{w as A,x as D,c as O,y as v,z as E,j as r,a as N}from"./index-pvGhQBw9.js";import{A as I,a as M,b as L,c as R,d as T,e as $,f as B}from"./alert-dialog-ocEz50Se.js";import{B as V}from"./button-CICpj3wE.js";import{F as k,a as q,b as H,c as U,d as G,e as J,f as K}from"./form-f0_t6ok_.js";import{I as P}from"./input-Chnnz9Uq.js";import{S as Q}from"./spinner-BSgPnpsR.js";import{u as W}from"./useMutation-B64mCwly.js";function _(o){return o.toLowerCase().trim().replace(/[^a-z0-9\s_-]+/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}const X=A({name:D().min(2,"Organization name is required")});function ne(o){const e=O.c(41),{open:a,onOpenChange:s}=o;let j;e[0]===Symbol.for("react.memo_cache_sentinel")?(j={resolver:v(X),defaultValues:{name:""}},e[0]=j):j=e[0];const t=E(j);let w;e[1]===Symbol.for("react.memo_cache_sentinel")?(w={mutationFn:Z,onSuccess:Y},e[1]=w):w=e[1];const i=W(w),z=i.error instanceof Error?i.error.message:i.error?"Failed to create organization.":null;let F;e[2]===Symbol.for("react.memo_cache_sentinel")?(F=r.jsxs(L,{children:[r.jsx(R,{children:"Create a new organization"}),r.jsx(T,{children:"Set up a new organization to collaborate with others."})]}),e[2]=F):F=e[2];let n;if(e[3]!==i||e[4]!==t){let p;e[6]!==i?(p=b=>i.mutateAsync(b),e[6]=i,e[7]=p):p=e[7],n=t.handleSubmit(p),e[3]=i,e[4]=t,e[5]=n}else n=e[5];let l;e[8]!==t.formState.isSubmitting?(l=p=>{const{field:b}=p;return r.jsxs(H,{children:[r.jsx(U,{children:"Organization Name"}),r.jsx(G,{children:r.jsx(P,{...b,placeholder:"Acme Inc.",disabled:t.formState.isSubmitting})}),r.jsx(J,{children:"The name of your company or organization"}),b.value&&r.jsxs("div",{className:"text-xs text-muted-foreground mt-1",children:["Organization URL:"," ",r.jsxs("span",{className:"font-mono",children:[typeof window<"u"?globalThis.location.origin:"","/",_(b.value)]})]}),r.jsx(K,{})]})},e[8]=t.formState.isSubmitting,e[9]=l):l=e[9];let m;e[10]!==t.control||e[11]!==l?(m=r.jsx(k,{control:t.control,name:"name",render:l}),e[10]=t.control,e[11]=l,e[12]=m):m=e[12];let c;e[13]!==z?(c=z&&r.jsx("div",{className:"text-destructive text-sm mt-2",children:z}),e[13]=z,e[14]=c):c=e[14];let f;e[15]!==i||e[16]!==t?(f=()=>{i.reset(),t.reset()},e[15]=i,e[16]=t,e[17]=f):f=e[17];let g;e[18]!==t.formState.isSubmitting||e[19]!==f?(g=r.jsx(I,{disabled:t.formState.isSubmitting,onClick:f,children:"Cancel"}),e[18]=t.formState.isSubmitting,e[19]=f,e[20]=g):g=e[20];const y=!t.formState.isValid||t.formState.isSubmitting;let u;e[21]!==t.formState.isSubmitting?(u=t.formState.isSubmitting?r.jsxs("span",{className:"flex items-center gap-2",children:[r.jsx(Q,{size:"xs"})," Creating..."]}):"Create Organization",e[21]=t.formState.isSubmitting,e[22]=u):u=e[22];let d;e[23]!==y||e[24]!==u?(d=r.jsx(V,{type:"submit",variant:"default",disabled:y,children:u}),e[23]=y,e[24]=u,e[25]=d):d=e[25];let S;e[26]!==d||e[27]!==g?(S=r.jsxs($,{children:[g,d]}),e[26]=d,e[27]=g,e[28]=S):S=e[28];let h;e[29]!==S||e[30]!==n||e[31]!==m||e[32]!==c?(h=r.jsxs("form",{className:"space-y-6",onSubmit:n,autoComplete:"off",children:[m,c,S]}),e[29]=S,e[30]=n,e[31]=m,e[32]=c,e[33]=h):h=e[33];let x;e[34]!==t||e[35]!==h?(x=r.jsxs(M,{children:[F,r.jsx(q,{...t,children:h})]}),e[34]=t,e[35]=h,e[36]=x):x=e[36];let C;return e[37]!==s||e[38]!==a||e[39]!==x?(C=r.jsx(B,{open:a,onOpenChange:s,children:x}),e[37]=s,e[38]=a,e[39]=x,e[40]=C):C=e[40],C}function Y(o){const{orgSlug:e}=o;window.location.href=`/${e}`}async function Z(o){const e=_(o.name);if(!e)throw new Error("Organization slug is invalid");const a=await N.organization.create({name:o.name,slug:e});if(a?.error)throw new Error(a.error.message||"Failed to create organization");const s=a?.data?.slug??e;if(!s)throw new Error("Failed to create organization");return{orgSlug:s}}export{ne as C};
@@ -1 +0,0 @@
1
- import{w as k,a1 as D,X as y,x as t,W as m,Z as T,J as W,c as O,j as c}from"./index-pvGhQBw9.js";import{B as N}from"./button-CICpj3wE.js";import{I as z}from"./input-Chnnz9Uq.js";import{s as R}from"./Plus-WrA7kzKa.js";import{s as H}from"./Trash01-MX6mkM7g.js";const U=k({authorizationEndpoint:t().url(),tokenEndpoint:t().url(),introspectionEndpoint:t().url().optional(),clientId:t(),clientSecret:t().optional(),scopes:y(t()),grantType:D(["authorization_code","client_credentials"])}),L=k({name:t(),description:t().optional(),inputSchema:m(t(),T()),outputSchema:m(t(),T()).optional()}),B=k({headers:m(t(),t()).optional()}),K=k({command:t().describe("Command to run (e.g., 'npx', 'node')"),args:y(t()).optional().describe("Command arguments"),cwd:t().optional().describe("Working directory"),envVars:m(t(),t()).optional().describe("Environment variables (encrypted in storage)")}),V=k({id:t().describe("Unique identifier for the connection"),title:t().describe("Human-readable name for the connection"),created_at:t().describe("When the connection was created"),updated_at:t().describe("When the connection was last updated"),created_by:t().describe("User ID who created the connection"),updated_by:t().optional().describe("User ID who last updated the connection"),organization_id:t().describe("Organization ID this connection belongs to"),description:t().nullable().describe("Description of the connection"),icon:t().nullable().describe("Icon URL for the connection"),app_name:t().nullable().describe("Associated app name"),app_id:t().nullable().describe("Associated app ID"),connection_type:D(["HTTP","SSE","Websocket","STDIO"]).describe("Type of connection"),connection_url:t().nullable().describe("URL for HTTP/SSE/WebSocket connections. Null for STDIO."),connection_token:t().nullable().describe("Authentication token (for HTTP connections)"),connection_headers:W([K,B]).nullable().describe("Connection parameters. HTTP: { headers }. STDIO: { command, args, cwd, envVars }"),oauth_config:U.nullable().describe("OAuth configuration"),configuration_state:m(t(),T()).nullable().describe("Configuration state (decrypted)"),configuration_scopes:y(t()).nullable().optional().describe("Configuration scopes"),metadata:m(t(),T()).nullable().describe("Additional metadata (includes repository info)"),tools:y(L).nullable().describe("Discovered tools from MCP"),bindings:y(t()).nullable().describe("Detected bindings"),status:D(["active","inactive","error"]).describe("Current status")});V.omit({created_at:!0,updated_at:!0,created_by:!0,updated_by:!0,organization_id:!0,tools:!0,bindings:!0,status:!0}).partial({id:!0,description:!0,icon:!0,app_name:!0,app_id:!0,connection_url:!0,connection_token:!0,connection_headers:!0,oauth_config:!0,configuration_state:!0,configuration_scopes:!0,metadata:!0});V.partial();function F(r){return r!=null&&"command"in r}function q(r){const e=r.toLowerCase();return!!(["secret","password","passwd","credential","private","token","bearer","jwt","refresh","session","api_key","apikey","auth_key","access_key","secret_key","private_key","service_key","encryption_key","signing_key","license_key","auth","oauth","client_secret","app_secret","webhook","signing","signature","database_url","db_url","mongo_uri","redis_url","postgres_url","mysql_url","connection_string","dsn","service_role","anon_key","supabase_key","openai","anthropic","stripe","twilio","sendgrid","resend","firebase","sentry","datadog","newrelic","new_relic","pplx","replicate","pinecone","cohere","hugging","hf_token","gh_token","npm_token","certificate","cert","ssl","tls","encryption","salt","hash","hmac","personal_access","github_pat","gitlab_pat","bitbucket_pat"].some(l=>e.includes(l))||["sk_","rk_","whsec_","pk_live","sk_live"].some(l=>e.startsWith(l))||["_key","_secret","_token","_password","_auth","_pat"].some(l=>e.endsWith(l)))}function G(r){const e=O.c(34),{value:n,onChange:o,keyPlaceholder:j,valuePlaceholder:l,className:I}=r,f=j===void 0?"VARIABLE_NAME":j,_=l===void 0?"value...":l;let x;e[0]!==o||e[1]!==n?(x=()=>{o([...n,{key:"",value:""}])},e[0]=o,e[1]=n,e[2]=x):x=e[2];const A=x;let w;e[3]!==o||e[4]!==n?(w=s=>{o(n.filter((u,i)=>i!==s))},e[3]=o,e[4]=n,e[5]=w):w=e[5];const b=w;let S;e[6]!==o||e[7]!==n?(S=(s,u)=>{const i=[...n],a=i[s];a&&(i[s]={key:u,value:a.value},o(i))},e[6]=o,e[7]=n,e[8]=S):S=e[8];const g=S;let C;e[9]!==o||e[10]!==n?(C=(s,u)=>{const i=[...n],a=i[s];a&&(i[s]={key:a.key,value:u},o(i))},e[9]=o,e[10]=n,e[11]=C):C=e[11];const v=C;let d;if(e[12]!==g||e[13]!==b||e[14]!==v||e[15]!==f||e[16]!==n||e[17]!==_){let s;e[19]!==g||e[20]!==b||e[21]!==v||e[22]!==f||e[23]!==_?(s=(u,i)=>c.jsxs("div",{className:"flex gap-2 items-center",children:[c.jsx(z,{placeholder:f,value:u.key,onChange:a=>g(i,a.target.value),className:"h-10 rounded-lg flex-1 font-mono text-sm"}),c.jsx(z,{type:q(u.key)?"password":"text",placeholder:_,value:u.value,onChange:a=>v(i,a.target.value),className:"h-10 rounded-lg flex-1"}),c.jsx(N,{type:"button",variant:"ghost",size:"icon",className:"h-10 w-10 shrink-0 text-muted-foreground hover:text-destructive",onClick:()=>b(i),children:c.jsx(H,{size:16})})]},i),e[19]=g,e[20]=b,e[21]=v,e[22]=f,e[23]=_,e[24]=s):s=e[24],d=n.map(s),e[12]=g,e[13]=b,e[14]=v,e[15]=f,e[16]=n,e[17]=_,e[18]=d}else d=e[18];let E;e[25]===Symbol.for("react.memo_cache_sentinel")?(E=c.jsx(R,{size:16,className:"mr-1"}),e[25]=E):E=e[25];let p;e[26]!==A?(p=c.jsxs(N,{type:"button",variant:"outline",size:"sm",className:"w-full h-9 text-muted-foreground",onClick:A,children:[E,"Add Environment Variable"]}),e[26]=A,e[27]=p):p=e[27];let h;e[28]!==d||e[29]!==p?(h=c.jsxs("div",{className:"flex flex-col gap-2",children:[d,p]}),e[28]=d,e[29]=p,e[30]=h):h=e[30];let P;return e[31]!==I||e[32]!==h?(P=c.jsx("div",{className:I,children:h}),e[31]=I,e[32]=h,e[33]=P):P=e[33],P}function Q(r){const e={};for(const{key:n,value:o}of r)n.trim()&&(e[n.trim()]=o);return e}function Y(r){return r?Object.entries(r).map(([e,n])=>({key:e,value:n})):[]}export{G as E,Q as e,F as i,Y as r};