@decocms/mesh 2.82.0 → 2.82.1

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 (154) hide show
  1. package/dist/client/assets/{AlertCircle-D3KDB3IA.js → AlertCircle-BZ-CyZa1.js} +1 -1
  2. package/dist/client/assets/{ArrowUp-3aAOnqRg.js → ArrowUp-NSnDVC4l.js} +1 -1
  3. package/dist/client/assets/{Calendar-BBdpCud_.js → Calendar-CoVZYAE2.js} +1 -1
  4. package/dist/client/assets/{Check-DDCtzM6Q.js → Check-UmtDrnpQ.js} +1 -1
  5. package/dist/client/assets/{CheckCircle-79X8LGfp.js → CheckCircle-LJB0nphc.js} +1 -1
  6. package/dist/client/assets/{CheckDone01-CQ4X60Dx.js → CheckDone01-DRW8C0jC.js} +1 -1
  7. package/dist/client/assets/{ChevronDown-SBTaDy9t.js → ChevronDown-Lb9sYBhA.js} +1 -1
  8. package/dist/client/assets/{ChevronRight--SfBuQ6E.js → ChevronRight-DpU4grNv.js} +1 -1
  9. package/dist/client/assets/{Code01-DjtWhPZC.js → Code01-CWm79KkF.js} +1 -1
  10. package/dist/client/assets/{Copy01-BSA43WMM.js → Copy01-BQUnMQ4j.js} +1 -1
  11. package/dist/client/assets/{DotsHorizontal-B5RKGUR7.js → DotsHorizontal-CJex2mj4.js} +1 -1
  12. package/dist/client/assets/{DotsVertical-Cd8cYkR4.js → DotsVertical-DFFhcQon.js} +1 -1
  13. package/dist/client/assets/{Download01-FxIredOf.js → Download01-nphiB21H.js} +1 -1
  14. package/dist/client/assets/{Edit01-B5nyemfE.js → Edit01-D8P8Sr8e.js} +1 -1
  15. package/dist/client/assets/{File02-DA2x6ZM6.js → File02-BL4gKKAX.js} +1 -1
  16. package/dist/client/assets/{File06-Dk4vC3hU.js → File06-BUJ_X_tw.js} +1 -1
  17. package/dist/client/assets/{FilterLines-DjOqiBJz.js → FilterLines-BiOt1NEr.js} +1 -1
  18. package/dist/client/assets/{Globe02-dRiPkeKW.js → Globe02-CZO7FIDq.js} +1 -1
  19. package/dist/client/assets/{Grid01-B4G9OfC4.js → Grid01-Z83jcxEK.js} +1 -1
  20. package/dist/client/assets/{Home02-BHKRAEAu.js → Home02-BBAxpbxf.js} +1 -1
  21. package/dist/client/assets/{Image01-2WD6KqwM.js → Image01-Dj0EPBoK.js} +1 -1
  22. package/dist/client/assets/{Inbox01-C7RwTkoq.js → Inbox01-Cv3Of8EH.js} +1 -1
  23. package/dist/client/assets/{InfoCircle-TiqDenvc.js → InfoCircle-C99uZ9Dm.js} +1 -1
  24. package/dist/client/assets/{LinkExternal01-x3gXIh53.js → LinkExternal01-D072PuxN.js} +1 -1
  25. package/dist/client/assets/{List-8EK4DbDa.js → List-CT3eXyAB.js} +1 -1
  26. package/dist/client/assets/{Loading01-CJAWJaxG.js → Loading01-Boa2vHJO.js} +1 -1
  27. package/dist/client/assets/{Lock01-BjFkdlhS.js → Lock01-CXRHeHtY.js} +1 -1
  28. package/dist/client/assets/{Pin01-cDub6-ui.js → Pin01-B8zRlvtP.js} +1 -1
  29. package/dist/client/assets/{Play-DFjE4pw4.js → Play-CVPFaIA1.js} +1 -1
  30. package/dist/client/assets/{Plus-BUcm60bY.js → Plus-BqAKVh_Y.js} +1 -1
  31. package/dist/client/assets/{RefreshCcw01-Cqf7w1A_.js → RefreshCcw01-D9a8SeHu.js} +1 -1
  32. package/dist/client/assets/{SearchMd-DZftd0rG.js → SearchMd-UVwS_-fr.js} +1 -1
  33. package/dist/client/assets/{Settings01-BV96W3K6.js → Settings01-DwjX6qim.js} +1 -1
  34. package/dist/client/assets/{Settings02-BSUzKPrW.js → Settings02-Du3FLop1.js} +1 -1
  35. package/dist/client/assets/{Share07-zbtOVHUV.js → Share07-CxWRs2m3.js} +1 -1
  36. package/dist/client/assets/{Terminal-CSvhqBGB.js → Terminal-B88oyZk4.js} +1 -1
  37. package/dist/client/assets/{Tool01-R1tL1Bnd.js → Tool01-kl3RL2lv.js} +1 -1
  38. package/dist/client/assets/{Trash01-ayUasD9O.js → Trash01-CzG1xfKz.js} +1 -1
  39. package/dist/client/assets/{Upload01-BashLf0-.js → Upload01-ByKmAM2f.js} +1 -1
  40. package/dist/client/assets/{Users03-0nIh3Dmg.js → Users03-DNM06KRo.js} +1 -1
  41. package/dist/client/assets/{X-BuzeH_Ys.js → X-M_ES_qqi.js} +1 -1
  42. package/dist/client/assets/{XClose-wa7qhUC2.js → XClose-CQhRIiPs.js} +1 -1
  43. package/dist/client/assets/{agent-connections-preview-2q-Vv44D.js → agent-connections-preview-Cch0blWE.js} +1 -1
  44. package/dist/client/assets/{agent-detail-2ytsz5ES.js → agent-detail-Bf4iwU-Y.js} +1 -1
  45. package/dist/client/assets/{agents-BOQt3EER.js → agents-Df8Q5wiY.js} +1 -1
  46. package/dist/client/assets/{alert-dialog-Dozrlcm_.js → alert-dialog-Cggt_nYx.js} +1 -1
  47. package/dist/client/assets/{auth-catchall-CkqPuCp2.js → auth-catchall-BQThJtBC.js} +1 -1
  48. package/dist/client/assets/{avatar-CODuQ7wd.js → avatar-Bgewflgt.js} +1 -1
  49. package/dist/client/assets/{badge-CBPiZjKH.js → badge-Bn10PWiB.js} +1 -1
  50. package/dist/client/assets/{binder-CMhpk7ub.js → binder-CimVeOHl.js} +1 -1
  51. package/dist/client/assets/{breadcrumb-DxXS9FOV.js → breadcrumb-BBH1RyZB.js} +1 -1
  52. package/dist/client/assets/{button-BENLxTt6.js → button-CTB6JBFd.js} +1 -1
  53. package/dist/client/assets/{card-DkcolAVH.js → card-v1MH1Mkh.js} +1 -1
  54. package/dist/client/assets/{checkbox-cKpxYYrb.js → checkbox-CQRkoYD-.js} +1 -1
  55. package/dist/client/assets/{circle-alert-B6brOILB.js → circle-alert-oCGD1a95.js} +1 -1
  56. package/dist/client/assets/{collection-detail-CAtk6NAX.js → collection-detail-Gz1dWeKF.js} +1 -1
  57. package/dist/client/assets/{collection-search-r4Iw28Tm.js → collection-search-BrFWYjne.js} +1 -1
  58. package/dist/client/assets/{collection-tab-BYjOSxk-.js → collection-tab-B4-T8UCe.js} +1 -1
  59. package/dist/client/assets/{collection-table-wrapper-g3QYov-u.js → collection-table-wrapper-CMrduhiz.js} +1 -1
  60. package/dist/client/assets/{collection-tabs-fNhO9GT7.js → collection-tabs-BAcu1YCF.js} +1 -1
  61. package/dist/client/assets/{command-BKB4MrJQ.js → command-CF2Bb3mx.js} +1 -1
  62. package/dist/client/assets/{connect-DYc_gyWw.js → connect-Ct-J54yH.js} +1 -1
  63. package/dist/client/assets/{connection-card-DEFXimFX.js → connection-card-ClHuU46c.js} +1 -1
  64. package/dist/client/assets/{connection-detail-CvldKioB.js → connection-detail-3XxsP7V4.js} +1 -1
  65. package/dist/client/assets/{connections-BZpjI1Nt.js → connections-CwtjDJk3.js} +1 -1
  66. package/dist/client/assets/constants-l3nmBC6x.js +1 -0
  67. package/dist/client/assets/{constants-CyHzmdsR.js → constants-lUlA1P1G.js} +1 -1
  68. package/dist/client/assets/{create-organization-dialog-CzJOBrOl.js → create-organization-dialog-ZkVao6nf.js} +1 -1
  69. package/dist/client/assets/{create-project-dialog-BSIrIXxq.js → create-project-dialog-6M4yCSfT.js} +1 -1
  70. package/dist/client/assets/{dialog-xIqrrw1k.js → dialog-Ck-a1K_o.js} +1 -1
  71. package/dist/client/assets/{dropdown-menu-CdsuXytO.js → dropdown-menu-Cq8FJTUN.js} +1 -1
  72. package/dist/client/assets/{dynamic-plugin-layout-D2FjOsz_.js → dynamic-plugin-layout-DWaeqoUn.js} +1 -1
  73. package/dist/client/assets/{empty-state-CEqegtKr.js → empty-state-CWOQeS8Z.js} +1 -1
  74. package/dist/client/assets/{empty-state-CsMNFf2A.js → empty-state-Cbo2gkCA.js} +1 -1
  75. package/dist/client/assets/{env-vars-editor-Bxq-afSh.js → env-vars-editor-0nu0DlC8.js} +1 -1
  76. package/dist/client/assets/{error-boundary-Nf2CtbS6.js → error-boundary-C3FJ9vA_.js} +1 -1
  77. package/dist/client/assets/{extract-connection-data-C2jhq8EX.js → extract-connection-data-CZ_dddPE.js} +1 -1
  78. package/dist/client/assets/{file-browser-D4P0OdDw.js → file-browser-CZECCIeP.js} +2 -2
  79. package/dist/client/assets/{form-DnmMdQrj.js → form-CuiI4-Fw.js} +1 -1
  80. package/dist/client/assets/{grid-view-CoSLyQLn.js → grid-view-EDwqYREw.js} +1 -1
  81. package/dist/client/assets/{home-DoLTW53v.js → home-BUMQNhoE.js} +1 -1
  82. package/dist/client/assets/{index-C_bldAJS.js → index-34L4NGZR.js} +1 -1
  83. package/dist/client/assets/{index-CDo7YvLh.js → index-BK599lki.js} +1 -1
  84. package/dist/client/assets/{index-DQ9TOjsi.js → index-BTRJVC1r.js} +2 -2
  85. package/dist/client/assets/{index-BPEvdlWI.js → index-BcY7_dKI.js} +1 -1
  86. package/dist/client/assets/{index-CaiLEv_9.js → index-Bv_NnYaV.js} +1 -1
  87. package/dist/client/assets/{index-fbicbDgU.js → index-CDLVDbuW.js} +1 -1
  88. package/dist/client/assets/{index-icASHgYU.js → index-CDNp6Eso.js} +1 -1
  89. package/dist/client/assets/{index-A80QwZTd.js → index-CDnKGpUs.js} +1 -1
  90. package/dist/client/assets/{index-RNBGcrtT.js → index-DH2TpY2d.js} +1 -1
  91. package/dist/client/assets/{infiniteQueryObserver-BsFCOv8W.js → infiniteQueryObserver-Cg_eu0mh.js} +1 -1
  92. package/dist/client/assets/{input-BIL-SExV.js → input-czqT2Pad.js} +1 -1
  93. package/dist/client/assets/{integration-icon-FtYhgNKh.js → integration-icon-DtC8G4dh.js} +1 -1
  94. package/dist/client/assets/{label-D0auY2sQ.js → label-82zXKz6_.js} +1 -1
  95. package/dist/client/assets/{layout-2aG_RWhC.js → layout-Cpvq9nfA.js} +1 -1
  96. package/dist/client/assets/{localstorage-keys-BE-3e1FV.js → localstorage-keys-DtejGC5i.js} +1 -1
  97. package/dist/client/assets/{login-CxdL1FAe.js → login-WAw8xoZJ.js} +1 -1
  98. package/dist/client/assets/{mcp-oauth-CmQaUsni.js → mcp-oauth-CVRc58m3.js} +1 -1
  99. package/dist/client/assets/{mcp-server-card-CjUi-ujO.js → mcp-server-card-BE-psf3Y.js} +1 -1
  100. package/dist/client/assets/{mcp-server-detail-DJkCOqkB.js → mcp-server-detail-INhvNzNl.js} +2 -2
  101. package/dist/client/assets/{members-DORByuvn.js → members-DFl12zj4.js} +1 -1
  102. package/dist/client/assets/{monaco-editor-_5dDXxkD.js → monaco-editor-fs2vSX-C.js} +1 -1
  103. package/dist/client/assets/{monitoring-BMMeBiqJ.js → monitoring-DCOip06j.js} +1 -1
  104. package/dist/client/assets/{oauth-callback-CravOpS3.js → oauth-callback-DPgKxpk2.js} +1 -1
  105. package/dist/client/assets/{page-BCwWDmou.js → page-BVbxs4Vr.js} +1 -1
  106. package/dist/client/assets/{page-jKoS4SxK.js → page-MEvHa87w.js} +1 -1
  107. package/dist/client/assets/{plugin-empty-state-BPiMrlyQ.js → plugin-empty-state-6KPSw60T.js} +1 -1
  108. package/dist/client/assets/{plugin-header-659f7GxU.js → plugin-header-Begx8cVw.js} +1 -1
  109. package/dist/client/assets/{popover-CfGRS0cW.js → popover-BWgdCGw8.js} +1 -1
  110. package/dist/client/assets/{project-layout-D-SjsOBw.js → project-layout-0wyS2NDK.js} +1 -1
  111. package/dist/client/assets/{project-settings-yZDxK7lp.js → project-settings-BEJItoi8.js} +1 -1
  112. package/dist/client/assets/{projects-list-DRgR5yeA.js → projects-list-DAl-12T4.js} +1 -1
  113. package/dist/client/assets/{registry-utils-B4sygtBA.js → registry-utils-B51B3ioO.js} +1 -1
  114. package/dist/client/assets/{resizable-DI-Suit4.js → resizable-A9piwx-2.js} +1 -1
  115. package/dist/client/assets/{select-BqfLrW4j.js → select-N6brO6nx.js} +1 -1
  116. package/dist/client/assets/shell-layout-D31-Amjt.js +12 -0
  117. package/dist/client/assets/{spinner-B6kkRxZ1.js → spinner-4fOXhVYy.js} +1 -1
  118. package/dist/client/assets/{store-invite-BuYr-V_q.js → store-invite-CCgQTVqI.js} +1 -1
  119. package/dist/client/assets/{switch-Vy1LOfjy.js → switch-B8rml8nx.js} +1 -1
  120. package/dist/client/assets/{table-Cp3wDHvL.js → table-BM7Y07ZM.js} +1 -1
  121. package/dist/client/assets/{tasks-Wx_mgsd7.js → tasks-DCZGVuP4.js} +1 -1
  122. package/dist/client/assets/{textarea-Cz5doER1.js → textarea-TNhTHm9M.js} +1 -1
  123. package/dist/client/assets/{tools-list-DlaoFt8L.js → tools-list-DNNC-Spx.js} +1 -1
  124. package/dist/client/assets/{topbar-portal-CHBG2h8g.js → topbar-portal-CNX1YMp4.js} +1 -1
  125. package/dist/client/assets/{typewriter-title-BBlbeBEA.js → typewriter-title-bvAupgtJ.js} +1 -1
  126. package/dist/client/assets/{use-binding-Dr0O-jnm.js → use-binding-HxsRrLG4.js} +1 -1
  127. package/dist/client/assets/{use-connection-EDeK5Svd.js → use-connection-D9uMTHOF.js} +1 -1
  128. package/dist/client/assets/{use-create-virtual-mcp-99ACH3DH.js → use-create-virtual-mcp-N5LfEC7r.js} +1 -1
  129. package/dist/client/assets/{use-deco-chat-open-DeWYX57x.js → use-deco-chat-open-Dfir0-DC.js} +1 -1
  130. package/dist/client/assets/{use-install-from-registry-OTkyDAEF.js → use-install-from-registry-Bhi2rpLv.js} +1 -1
  131. package/dist/client/assets/{use-list-state-CoHPwr3M.js → use-list-state-Cqm8-cAF.js} +1 -1
  132. package/dist/client/assets/{use-llm-jfUM8DGq.js → use-llm-DqBbxmSJ.js} +1 -1
  133. package/dist/client/assets/{use-mcp-prompts-O2DarmsN.js → use-mcp-prompts-E0b1BnP-.js} +1 -1
  134. package/dist/client/assets/{use-mcp-tools-CLb1GouZ.js → use-mcp-tools-DJxxSoOb.js} +1 -1
  135. package/dist/client/assets/{use-mobile-CsekvTUr.js → use-mobile-BdYz75f3.js} +1 -1
  136. package/dist/client/assets/{use-organization-settings-DXrVDIU7.js → use-organization-settings-DVtsq9Dv.js} +1 -1
  137. package/dist/client/assets/{use-project-6LlQxxph.js → use-project-khiYs8bh.js} +1 -1
  138. package/dist/client/assets/{use-virtual-mcp-BSj9UgeS.js → use-virtual-mcp-BN_b8WqX.js} +1 -1
  139. package/dist/client/assets/useInfiniteQuery-BpdJ52hK.js +1 -0
  140. package/dist/client/assets/{useMutation-BsQPbdYX.js → useMutation-ICNjK8hh.js} +1 -1
  141. package/dist/client/assets/useQuery-BsoPjEaP.js +1 -0
  142. package/dist/client/assets/utils-JVych4vu.js +1 -0
  143. package/dist/client/assets/{view-mode-toggle-D0YAiOPf.js → view-mode-toggle-BnUnMRA8.js} +1 -1
  144. package/dist/client/assets/{workflow-DcXyyOJb.js → workflow-xOeGR-7v.js} +1 -1
  145. package/dist/client/index.html +1 -1
  146. package/dist/server/cli.js +1 -1
  147. package/dist/server/migrate.js +1 -1
  148. package/dist/server/server.js +1 -1
  149. package/package.json +1 -1
  150. package/dist/client/assets/constants-qizKrs2K.js +0 -1
  151. package/dist/client/assets/shell-layout-Db9ulLGU.js +0 -12
  152. package/dist/client/assets/useInfiniteQuery-CjTCzZMC.js +0 -1
  153. package/dist/client/assets/useQuery-KPhLL-WX.js +0 -1
  154. package/dist/client/assets/utils-Dm1G0W2O.js +0 -1
@@ -1036,7 +1036,7 @@ ${X.stack}`;return G}}catch{}if(typeof X.toString==="function")try{let G=X.toStr
1036
1036
  const args = ${JSON.stringify(X)};
1037
1037
  return await __virtualToolFn(tools, args);
1038
1038
  };
1039
- `,F=await Q2({code:H,tools:W,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,Q]=await Promise.all([this._cachedResources,this._clients]),J=X.mappings.get(Y.uri);if(!J)throw Error(`Resource not found: ${Y.uri}`);let G=Q.get(J);if(!G)throw Error(`Connection not found for resource: ${Y.uri}`);return await G.readResource(Y)}async listPrompts(){return{prompts:(await this._cachedPrompts).data}}async getPrompt(Y){let[X,Q]=await Promise.all([this._cachedPrompts,this._clients]),J=X.mappings.get(Y.name);if(!J)throw Error(`Prompt not found: ${Y.name}`);let G=Q.get(J);if(!G)throw Error(`Connection not found for prompt: ${Y.name}`);return await G.getPrompt(Y)}async callStreamableTool(Y,X){let[Q,J]=await Promise.all([this._cachedTools,this._clients]),G=Q.mappings.get(Y);if(G){let W=J.get(G);if(W&&"callStreamableTool"in W)return W.callStreamableTool(Y,X)}let K=await this.callTool({name:Y,arguments:X});return new Response(JSON.stringify(K),{headers:{"Content-Type":"application/json"}})}async[Symbol.asyncDispose](){let Y=await this._clients;if(Y)await KO1(Y)}async close(){let Y=await this._clients;if(Y)await KO1(Y);await super.close()}getInstructions(){return this.options.virtualMcp.metadata?.instructions??void 0}}});var HO1,O94,FO1,N94,v2;var e50=v(()=>{h0();rV();t50();HO1=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")}),O94=B.toJSONSchema(HO1),FO1=B.object({tools:B.array(B.string()).min(1).describe("Array of tool names to get detailed schemas for")}),N94=B.toJSONSchema(FO1);v2=class v2 extends JO{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:O94}}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:N94}}async handleSearch(Y){let X=HO1.safeParse(Y);if(!X.success)return v3({error:X.error.flatten()});let Q=await this._cachedTools,J=oZ(Q.data),G=ix(X.data.query,J,X.data.limit);return J2({query:X.data.query,results:G.map((K)=>({name:K.name,description:K.description,connection:K._meta.connectionTitle})),totalAvailable:J.length})}async handleDescribe(Y){let X=FO1.safeParse(Y);if(!X.success)return v3({error:X.error.flatten()});let Q=await this._cachedTools,J=oZ(Q.data),G=ax(X.data.tools,J);return J2({tools:G.tools,notFound:G.notFound})}async listTools(){let Y=await this._cachedTools,X=oZ(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 JO.prototype.callTool.call(this,Y)}}});var $O1,L94,YG0;var VO1=v(()=>{h0();rV();e50();$O1=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).")}),L94=B.toJSONSchema($O1);YG0=class YG0 extends v2{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:L94}}async handleRunCode(Y){let X=$O1.safeParse(Y);if(!X.success)return v3({error:X.error.flatten()});let Q=await this._cachedTools,G={tools:oZ(Q.data),callTool:async(W,Z)=>{return this.routeToolCall({name:W,arguments:Z})}},K=await rx(X.data.code,G,X.data.timeoutMs);if(K.error)return v3(K);return J2(K)}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 BO1(Y){let X=Y.slice().sort().join(","),Q=qO1.get(X);if(!Q){let J=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")});Q={schema:J,jsonSchema:B.toJSONSchema(J)},qO1.set(X,Q)}return Q}var qO1,XG0;var zO1=v(()=>{h0();rV();e50();qO1=new Map;XG0=class XG0 extends v2{constructor(Y,X){super(Y,X)}async getCallTool(){let Y=await this._cachedTools,Q=oZ(Y.data).map((G)=>G.name),{jsonSchema:J}=BO1(Q);return{name:"GATEWAY_CALL_TOOL",description:"Execute a tool by name. Use GATEWAY_DESCRIBE_TOOLS first to understand the input schema.",inputSchema:J}}async handleCallTool(Y){let X=await this._cachedTools,Q=oZ(X.data),J=Q.map((F)=>F.name),{schema:G}=BO1(J),K=G.safeParse(Y);if(!K.success)return v3({error:K.error.flatten()});let{name:W,arguments:Z}=K.data;if(!new Map(Q.map((F)=>[F.name,F])).has(W))return{content:[{type:"text",text:`Tool not found: ${W}. Use GATEWAY_SEARCH_TOOLS to find available tools.`}],isError:!0};return this.routeToolCall({name:W,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 QG0(Y){switch(Y){case"smart_tool_selection":return"smart_tool_selection";case"code_execution":return"code_execution";case"passthrough":default:return"passthrough"}}function w94(Y,X){if(Y.connection_type!=="VIRTUAL")return!1;if(!X||ZZ(X))return!1;return Y.id===X}async function UO1(Y,X){let Q=Y.id,J=await X.storage.virtualMcps.findById(Q);if(!J)throw Error(`Virtual MCP not found: ${Q}`);return _2(J,X,"passthrough")}async function _2(Y,X,Q){let G=Y.connections.map(($)=>$.connection_id).map(($)=>X.storage.connections.findById($)),K=Y.id?await X.storage.connections.findById(Y.id):null,W=await Promise.all(G),Z=[];if(K?.tools){for(let $ of K.tools)if(y3($))Z.push($)}let F={connections:W.filter(($)=>$!==null&&$.status==="active"&&!w94($,Y.id)),virtualMcp:Y,virtualTools:Z.length>0?Z:void 0};return Q==="smart_tool_selection"?new XG0(F,X):Q==="code_execution"?new YG0(F,X):new JO(F,X)}var Fu=v(()=>{YX();QK();VO1();t50();zO1()});async function XQ(Y,X,Q=!1){if(Y.connection_type==="VIRTUAL")return UO1(Y,X);return XO1(Y,X,Q)}var JG0=v(()=>{QO1();Fu()});async function GG0(Y,X,Q){let J=await XQ(Y,X,Q),G=k$(J,{name:"mcp-mesh-enhanced",version:"1.0.0"},{capabilities:M94,instructions:J.getInstructions()});return G.server.setRequestHandler(BH,async()=>{return await J.listResources().catch(sV({resources:[]}))}),G.server.setRequestHandler(zH,async()=>{return await J.listResourceTemplates().catch(sV({resourceTemplates:[]}))}),G.server.setRequestHandler(UH,async()=>{return await J.listPrompts().catch(sV({prompts:[]}))}),G}var M94;var DO1=v(()=>{YX();v9();JG0();s50();M94={tools:{},resources:{},prompts:{}}});function WG0(Y,X){let Q=Y.listTools.bind(Y),J=async()=>{if(X.connection_type!=="VIRTUAL"&&X.tools&&X.tools.length>0)return{tools:X.tools.map((K)=>({name:K.name,description:K.description,inputSchema:K.inputSchema,outputSchema:K.outputSchema,annotations:K.annotations,_meta:K._meta}))};return await Q()};return Y.listTools=J,Y}function A94(Y,X,Q){return async(J,G)=>{try{let K=J.params.name,W=async()=>{let{tools:H}=await Q();return H.find(($)=>$.name===K)?._meta};return await new XK(Y.authInstance,Y.auth.user?.id??Y.auth.apiKey?.userId,K,Y.boundAuth,Y.auth.user?.role,X,W).check(K),await G()}catch(K){return new Response(JSON.stringify({error:`Authorization failed: ${K.message}`}),{status:403,headers:{"Content-Type":"application/json"}})}}}function y2(Y,X,Q,J,G){let K=async(Z,H)=>{if(Q.connection_type==="VIRTUAL"){let z=await Y.callTool({name:Z,arguments:H});return new Response(JSON.stringify(z),{headers:{"Content-Type":"application/json"}})}if(!Q.connection_url)throw Error("Streamable tools require HTTP connection with URL");let F=Q.connection_url,$={method:"tools/call",params:{name:Z,arguments:H}};if(!G.superUser){let D=await A94(J,X,Y.listTools.bind(Y))($,async()=>{return new Response});if(!D.ok)return D}let V=J.connectionId&&J.connectionId!==X?J.connectionId:void 0;return tD1({ctx:J,enabled:zx().enabled,connectionId:X,connectionTitle:Q.title,virtualMcpId:V})($,async()=>{let z=await I2(Q,J,G.superUser),D=Q.connection_headers;if(D&&"headers"in D)Object.assign(z,D.headers);let O=new URL(F);O.pathname=O.pathname.replace(/\/$/,"")+`/call-tool/${$.params.name}`;let L=JSON.parse(JSON.stringify($.params.arguments,(I,P)=>{if(P instanceof AbortSignal)return;if(typeof P==="function"||typeof P==="symbol")return;if(P===void 0)return;return P})),w=JSON.stringify(L);return await J.tracer.startActiveSpan("mcp.proxy.callStreamableTool",{attributes:{"connection.id":X,"tool.name":$.params.name,"request.id":J.metadata.requestId}},async(I)=>{let P=Date.now();try{let T=await fetch(O.toString(),{method:"POST",redirect:"manual",body:w,headers:{...z,"Content-Type":"application/json"}}),A=Date.now()-P;return J.meter.createHistogram("connection.proxy.streamable.duration").record(A,{"connection.id":X,"tool.name":$.params.name,status:T.ok?"success":"error"}),J.meter.createCounter("connection.proxy.streamable.requests").add(1,{"connection.id":X,"tool.name":$.params.name,status:T.ok?"success":"error"}),I.end(),T}catch(T){let A=T,R=Date.now()-P;throw console.error("[with-streaming-support] fetch error",{connectionId:X,toolName:$.params.name,error:A.message,errorStack:A.stack,duration:R}),J.meter.createHistogram("connection.proxy.streamable.duration").record(R,{"connection.id":X,"tool.name":$.params.name,status:"error"}),J.meter.createCounter("connection.proxy.streamable.errors").add(1,{"connection.id":X,"tool.name":$.params.name,error:A.message}),I.recordException(A),I.end(),T}})})},W=Object.assign(Object.create(Object.getPrototypeOf(Y)),Y);return W.callStreamableTool=K,W}var OO1=v(()=>{l50();S2();kT();r50()});var NO1=v(()=>{OO1()});var GO=v(()=>{JG0();DO1();NO1()});async function E94(Y,X,Q,J){for(let K of X){if(K==="*")continue;let[W]=uD1(K),Z=Zu(W,Y);if(Z===void 0||Z===null)throw Error(`Scope references key "${W}" but it's not present in state`)}let G=gD1(Y,X);for(let K of G){if(K.endsWith("_self"))continue;let W=await J.storage.connections.findById(K);if(!W||W.organization_id!==Q)throw Error(`Referenced connection not found: ${K}`);try{await J.access.check(K)}catch(Z){throw Error(`Access denied to referenced connection: ${K}. ${Z.message}`)}}}var P94,T94,ZG0;var LO1=v(()=>{g50();GO();Ku();h0();k1();xx();nZ();P94=B.object({id:B.string().describe("ID of the connection to update"),data:XA.describe("Partial connection data to update")}),T94=B.object({item:yX.describe("The updated connection entity")});ZG0=y0({name:"COLLECTION_CONNECTIONS_UPDATE",description:"Update an existing MCP connection in the organization",inputSchema:P94,outputSchema:T94,handler:async(Y,X)=>{u0(X);let Q=q1(X);await X.access.check();let J=b8(X);if(!J)throw Error("User ID required to update connection");let{id:G,data:K}=Y,W=await X.storage.connections.findById(G);if(!W||W.organization_id!==Q.id)throw Error("Connection not found in organization");let Z=K.connection_type??W.connection_type,H=K.connection_url??W.connection_url;if(Z==="VIRTUAL"){let L=j$(H);if(!L)throw Error("VIRTUAL connection requires connection_url in format: virtual://$virtual_mcp_id");let w=await X.storage.virtualMcps.findById(L);if(!w)throw Error(`Virtual MCP not found: ${L}`);if(w.organization_id!==Q.id)throw Error("Virtual MCP does not belong to the current organization");H=S$(L)}let F=K.configuration_state??W.configuration_state??{},$=K.configuration_scopes??W.configuration_scopes??[];if(K.configuration_state!==void 0||K.configuration_scopes!==void 0){if(K.configuration_state!==void 0)F=K.configuration_state??{};else if(F===null||F===void 0)F={};if(K.configuration_scopes!==void 0)$=K.configuration_scopes??[];if($.length>0)await E94(F,$,Q.id,X)}let V=K.connection_token??W.connection_token;if(!V)try{let w=await new YK(X.db,X.vault).get(G);if(w?.accessToken)V=w.accessToken}catch{}let q=await cD({id:W.id,title:K.title??W.title,connection_type:Z,connection_url:H,connection_token:V,connection_headers:K.connection_headers??W.connection_headers}).catch(()=>null),z=q?.length?q:null,D={...K,connection_url:H,tools:z,configuration_state:F,configuration_scopes:$,updated_by:J},O=await X.storage.connections.update(G,D);if((K.configuration_state!==void 0||K.configuration_scopes!==void 0)&&F&&$)try{await(await XQ(O,X,!1)).callTool({name:"ON_MCP_CONFIGURATION",arguments:{state:F,scopes:$}})}catch(L){console.error("Failed to invoke ON_MCP_CONFIGURATION callback",L)}return{item:O}}})});var KG0;var wO1=v(()=>{j5();k1();nZ();KG0=y0({name:"COLLECTION_CONNECTIONS_DELETE",description:"Delete a connection",inputSchema:H2,outputSchema:F2(yX),handler:async(Y,X)=>{u0(X);let Q=q1(X);await X.access.check();let J=await X.storage.connections.findById(Y.id);if(!J)throw Error(`Connection not found: ${Y.id}`);if(J.organization_id!==Q.id)throw Error("Connection not found in organization");if(J.metadata?.isFixed===!0)throw Error("This connection is a fixed system connection and cannot be deleted");return await X.storage.connections.delete(Y.id),{item:J}}})});var HG0;var MO1=v(()=>{h0();k1();HG0=y0({name:"CONNECTION_TEST",description:"Test connection health and latency",inputSchema:B.object({id:B.string()}),outputSchema:B.object({id:B.string(),healthy:B.boolean(),latencyMs:B.number()}),handler:async(Y,X)=>{let Q=q1(X);await X.access.check();let J=await X.storage.connections.findById(Y.id);if(!J||J.organization_id!==Q.id)throw Error("Connection not found");let G=await X.storage.connections.testConnection(Y.id);return{id:Y.id,...G}}})});var AO1=v(()=>{ZD1();bD1();xD1();LO1();wO1();MO1()});import{sql as H4}from"kysely";function PO1(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 R94(Y,X){let Q=Y;for(let G=X.length;G>=1;G--){let K=`$${G}`;if(Q.includes(K))Q=Q.replaceAll(K,PO1(X[G-1]))}let J=[];for(let G=0;G<Q.length;G++)if(Q[G]==="?")J.push(G);for(let G=Math.min(J.length,X.length)-1;G>=0;G--){let K=J[G],W=PO1(X[G]);Q=Q.slice(0,K)+W+Q.slice(K+1)}return Q}function TO1(Y){return Y.replace(/-/g,"_")}function S94(Y){return`app_${TO1(Y)}`}function k94(Y){return`app_role_${TO1(Y)}`}function v94(Y){if(Y instanceof Error){let X=Y.message.toLowerCase(),Q=Y.code;return Q==="3F000"||Q==="42704"||Q==="22023"||X.includes("schema")&&X.includes("does not exist")||X.includes("role")&&X.includes("does not exist")}return!1}async function _94(Y,X,Q){if(await H4`CREATE SCHEMA IF NOT EXISTS ${H4.id(X)}`.execute(Y),!(await H4`
1039
+ `,F=await Q2({code:H,tools:W,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,Q]=await Promise.all([this._cachedResources,this._clients]),J=X.mappings.get(Y.uri);if(!J)throw Error(`Resource not found: ${Y.uri}`);let G=Q.get(J);if(!G)throw Error(`Connection not found for resource: ${Y.uri}`);return await G.readResource(Y)}async listPrompts(){return{prompts:(await this._cachedPrompts).data}}async getPrompt(Y){let[X,Q]=await Promise.all([this._cachedPrompts,this._clients]),J=X.mappings.get(Y.name);if(!J)throw Error(`Prompt not found: ${Y.name}`);let G=Q.get(J);if(!G)throw Error(`Connection not found for prompt: ${Y.name}`);return await G.getPrompt(Y)}async callStreamableTool(Y,X){let[Q,J]=await Promise.all([this._cachedTools,this._clients]),G=Q.mappings.get(Y);if(G){let W=J.get(G);if(W&&"callStreamableTool"in W)return W.callStreamableTool(Y,X)}let K=await this.callTool({name:Y,arguments:X});return new Response(JSON.stringify(K),{headers:{"Content-Type":"application/json"}})}async[Symbol.asyncDispose](){let Y=await this._clients;if(Y)await KO1(Y)}async close(){let Y=await this._clients;if(Y)await KO1(Y);await super.close()}getInstructions(){return this.options.virtualMcp.metadata?.instructions??void 0}}});var HO1,O94,FO1,N94,v2;var e50=v(()=>{h0();rV();t50();HO1=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")}),O94=B.toJSONSchema(HO1),FO1=B.object({tools:B.array(B.string()).min(1).describe("Array of tool names to get detailed schemas for")}),N94=B.toJSONSchema(FO1);v2=class v2 extends JO{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:O94}}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:N94}}async handleSearch(Y){let X=HO1.safeParse(Y);if(!X.success)return v3({error:X.error.flatten()});let Q=await this._cachedTools,J=oZ(Q.data),G=ix(X.data.query,J,X.data.limit);return J2({query:X.data.query,results:G.map((K)=>({name:K.name,description:K.description,connection:K._meta.connectionTitle})),totalAvailable:J.length})}async handleDescribe(Y){let X=FO1.safeParse(Y);if(!X.success)return v3({error:X.error.flatten()});let Q=await this._cachedTools,J=oZ(Q.data),G=ax(X.data.tools,J);return J2({tools:G.tools,notFound:G.notFound})}async listTools(){let Y=await this._cachedTools,X=oZ(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 JO.prototype.callTool.call(this,Y)}}});var $O1,L94,YG0;var VO1=v(()=>{h0();rV();e50();$O1=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).")}),L94=B.toJSONSchema($O1);YG0=class YG0 extends v2{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:L94}}async handleRunCode(Y){let X=$O1.safeParse(Y);if(!X.success)return v3({error:X.error.flatten()});let Q=await this._cachedTools,G={tools:oZ(Q.data),callTool:async(W,Z)=>{return this.routeToolCall({name:W,arguments:Z})}},K=await rx(X.data.code,G,X.data.timeoutMs);if(K.error)return v3(K);return J2(K)}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 BO1(Y){let X=Y.slice().sort().join(","),Q=qO1.get(X);if(!Q){let J=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")});Q={schema:J,jsonSchema:B.toJSONSchema(J)},qO1.set(X,Q)}return Q}var qO1,XG0;var zO1=v(()=>{h0();rV();e50();qO1=new Map;XG0=class XG0 extends v2{constructor(Y,X){super(Y,X)}async getCallTool(){let Y=await this._cachedTools,Q=oZ(Y.data).map((G)=>G.name),{jsonSchema:J}=BO1(Q);return{name:"GATEWAY_CALL_TOOL",description:"Execute a tool by name. Use GATEWAY_DESCRIBE_TOOLS first to understand the input schema.",inputSchema:J}}async handleCallTool(Y){let X=await this._cachedTools,Q=oZ(X.data),J=Q.map((F)=>F.name),{schema:G}=BO1(J),K=G.safeParse(Y);if(!K.success)return v3({error:K.error.flatten()});let{name:W,arguments:Z}=K.data;if(!new Map(Q.map((F)=>[F.name,F])).has(W))return{content:[{type:"text",text:`Tool not found: ${W}. Use GATEWAY_SEARCH_TOOLS to find available tools.`}],isError:!0};return this.routeToolCall({name:W,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 QG0(Y){switch(Y){case"smart_tool_selection":return"smart_tool_selection";case"code_execution":return"code_execution";case"passthrough":default:return"passthrough"}}function w94(Y,X){if(Y.connection_type!=="VIRTUAL")return!1;if(!X||ZZ(X))return!1;return Y.id===X}async function UO1(Y,X){let Q=Y.id,J=await X.storage.virtualMcps.findById(Q);if(!J)throw Error(`Virtual MCP not found: ${Q}`);return _2(J,X,"passthrough")}async function _2(Y,X,Q){let G=Y.connections.map(($)=>$.connection_id).map(($)=>X.storage.connections.findById($)),K=Y.id?await X.storage.connections.findById(Y.id):null,W=await Promise.all(G),Z=[];if(K?.tools){for(let $ of K.tools)if(y3($))Z.push($)}let F={connections:W.filter(($)=>$!==null&&$.status==="active"&&!w94($,Y.id)),virtualMcp:Y,virtualTools:Z.length>0?Z:void 0};return Q==="smart_tool_selection"?new XG0(F,X):Q==="code_execution"?new YG0(F,X):new JO(F,X)}var Fu=v(()=>{YX();QK();VO1();t50();zO1()});async function XQ(Y,X,Q=!1){if(Y.connection_type==="VIRTUAL")return UO1(Y,X);return XO1(Y,X,Q)}var JG0=v(()=>{QO1();Fu()});async function GG0(Y,X,Q){let J=await XQ(Y,X,Q),G=k$(J,{name:"mcp-mesh-enhanced",version:"1.0.0"},{capabilities:M94,instructions:J.getInstructions()});return G.server.setRequestHandler(BH,async()=>{return await J.listResources().catch(sV({resources:[]}))}),G.server.setRequestHandler(zH,async()=>{return await J.listResourceTemplates().catch(sV({resourceTemplates:[]}))}),G.server.setRequestHandler(UH,async()=>{return await J.listPrompts().catch(sV({prompts:[]}))}),G}var M94;var DO1=v(()=>{YX();v9();JG0();s50();M94={tools:{},resources:{},prompts:{}}});function WG0(Y,X){let Q=Y.listTools.bind(Y),J=async()=>{if(X.connection_type!=="VIRTUAL"&&X.tools&&X.tools.length>0)return{tools:X.tools.map((K)=>({name:K.name,description:K.description,inputSchema:K.inputSchema,outputSchema:K.outputSchema,annotations:K.annotations,_meta:K._meta}))};return await Q()};return Y.listTools=J,Y}function A94(Y,X,Q){return async(J,G)=>{try{let K=J.params.name,W=async()=>{let{tools:H}=await Q();return H.find(($)=>$.name===K)?._meta};return await new XK(Y.authInstance,Y.auth.user?.id??Y.auth.apiKey?.userId,K,Y.boundAuth,Y.auth.user?.role,X,W).check(K),await G()}catch(K){return new Response(JSON.stringify({error:`Authorization failed: ${K.message}`}),{status:403,headers:{"Content-Type":"application/json"}})}}}function y2(Y,X,Q,J,G){let K=async(Z,H)=>{if(Q.connection_type==="VIRTUAL"){let z=await Y.callTool({name:Z,arguments:H});return new Response(JSON.stringify(z),{headers:{"Content-Type":"application/json"}})}if(!Q.connection_url)throw Error("Streamable tools require HTTP connection with URL");let F=Q.connection_url,$={method:"tools/call",params:{name:Z,arguments:H}};if(!G.superUser){let D=await A94(J,X,Y.listTools.bind(Y))($,async()=>{return new Response});if(!D.ok)return D}let V=J.connectionId&&J.connectionId!==X?J.connectionId:void 0;return tD1({ctx:J,enabled:zx().enabled,connectionId:X,connectionTitle:Q.title,virtualMcpId:V})($,async()=>{let z=await I2(Q,J,G.superUser),D=Q.connection_headers;if(D&&"headers"in D)Object.assign(z,D.headers);let O=new URL(F);O.pathname=O.pathname.replace(/\/$/,"")+`/call-tool/${$.params.name}`;let L=JSON.parse(JSON.stringify($.params.arguments,(I,P)=>{if(P instanceof AbortSignal)return;if(typeof P==="function"||typeof P==="symbol")return;if(P===void 0)return;return P})),w=JSON.stringify(L);return await J.tracer.startActiveSpan("mcp.proxy.callStreamableTool",{attributes:{"connection.id":X,"tool.name":$.params.name,"request.id":J.metadata.requestId}},async(I)=>{let P=Date.now();try{let T=await fetch(O.toString(),{method:"POST",redirect:"manual",body:w,headers:{...z,"Content-Type":"application/json"}}),A=Date.now()-P;return J.meter.createHistogram("connection.proxy.streamable.duration").record(A,{"connection.id":X,"tool.name":$.params.name,status:T.ok?"success":"error"}),J.meter.createCounter("connection.proxy.streamable.requests").add(1,{"connection.id":X,"tool.name":$.params.name,status:T.ok?"success":"error"}),I.end(),T}catch(T){let A=T,R=Date.now()-P;throw console.error("[with-streaming-support] fetch error",{connectionId:X,toolName:$.params.name,error:A.message,errorStack:A.stack,duration:R}),J.meter.createHistogram("connection.proxy.streamable.duration").record(R,{"connection.id":X,"tool.name":$.params.name,status:"error"}),J.meter.createCounter("connection.proxy.streamable.errors").add(1,{"connection.id":X,"tool.name":$.params.name,error:A.message}),I.recordException(A),I.end(),T}})})},W=Object.assign(Object.create(Object.getPrototypeOf(Y)),Y);return W.callStreamableTool=K,W}var OO1=v(()=>{l50();S2();kT();r50()});var NO1=v(()=>{OO1()});var GO=v(()=>{JG0();DO1();NO1()});async function E94(Y,X,Q,J){for(let K of X){if(K==="*")continue;let[W]=uD1(K),Z=Zu(W,Y);if(Z===void 0||Z===null)throw Error(`Scope references key "${W}" but it's not present in state`)}let G=gD1(Y,X);for(let K of G){if(K.endsWith("_self"))continue;let W=await J.storage.connections.findById(K);if(!W||W.organization_id!==Q)throw Error(`Referenced connection not found: ${K}`);try{await J.access.check(K)}catch(Z){throw Error(`Access denied to referenced connection: ${K}. ${Z.message}`)}}}var P94,T94,ZG0;var LO1=v(()=>{g50();GO();Ku();h0();k1();xx();nZ();P94=B.object({id:B.string().describe("ID of the connection to update"),data:XA.describe("Partial connection data to update")}),T94=B.object({item:yX.describe("The updated connection entity")});ZG0=y0({name:"COLLECTION_CONNECTIONS_UPDATE",description:"Update an existing MCP connection in the organization",inputSchema:P94,outputSchema:T94,handler:async(Y,X)=>{u0(X);let Q=q1(X);await X.access.check();let J=b8(X);if(!J)throw Error("User ID required to update connection");let{id:G,data:K}=Y,W=await X.storage.connections.findById(G);if(!W||W.organization_id!==Q.id)throw Error("Connection not found in organization");let Z=K.connection_type??W.connection_type,H=K.connection_url??W.connection_url;if(Z==="VIRTUAL"){let L=j$(H);if(!L)throw Error("VIRTUAL connection requires connection_url in format: virtual://$virtual_mcp_id");let w=await X.storage.virtualMcps.findById(L);if(!w)throw Error(`Virtual MCP not found: ${L}`);if(w.organization_id!==Q.id)throw Error("Virtual MCP does not belong to the current organization");H=S$(L)}let F=K.configuration_state??W.configuration_state??{},$=K.configuration_scopes??W.configuration_scopes??[];if(K.configuration_state!==void 0||K.configuration_scopes!==void 0){if(K.configuration_state!==void 0)F=K.configuration_state??{};else if(F===null||F===void 0)F={};if(K.configuration_scopes!==void 0)$=K.configuration_scopes??[];if($.length>0)await E94(F,$,Q.id,X)}let V=K.connection_token??W.connection_token;if(!V)try{let w=await new YK(X.db,X.vault).get(G);if(w?.accessToken)V=w.accessToken}catch{}let q=await cD({id:W.id,title:K.title??W.title,connection_type:Z,connection_url:H,connection_token:V,connection_headers:K.connection_headers??W.connection_headers}).catch(()=>null),z=q?.length?q:null,D={...K,connection_url:H,tools:z,configuration_state:F,configuration_scopes:$,updated_by:J},O=await X.storage.connections.update(G,D);if((K.configuration_state!==void 0||K.configuration_scopes!==void 0)&&F&&$)try{await(await XQ(O,X,!1)).callTool({name:"ON_MCP_CONFIGURATION",arguments:{state:F,scopes:$}})}catch(L){console.error("Failed to invoke ON_MCP_CONFIGURATION callback",L)}return{item:O}}})});var KG0;var wO1=v(()=>{j5();k1();nZ();KG0=y0({name:"COLLECTION_CONNECTIONS_DELETE",description:"Delete a connection",inputSchema:H2,outputSchema:F2(yX),handler:async(Y,X)=>{u0(X);let Q=q1(X);await X.access.check();let J=await X.storage.connections.findById(Y.id);if(!J)throw Error(`Connection not found: ${Y.id}`);if(J.organization_id!==Q.id)throw Error("Connection not found in organization");if(J.metadata?.isFixed===!0)throw Error("This connection is a fixed system connection and cannot be deleted");let K=await X.storage.virtualMcps.listByConnectionId(Q.id,Y.id);if(K.length>0){let W=K.map((Z)=>`"${Z.title}"`).join(", ");throw Error(`Cannot delete this connection because it is used by the following agent(s): ${W}. Remove it from those agents first.`)}return await X.storage.connections.delete(Y.id),{item:J}}})});var HG0;var MO1=v(()=>{h0();k1();HG0=y0({name:"CONNECTION_TEST",description:"Test connection health and latency",inputSchema:B.object({id:B.string()}),outputSchema:B.object({id:B.string(),healthy:B.boolean(),latencyMs:B.number()}),handler:async(Y,X)=>{let Q=q1(X);await X.access.check();let J=await X.storage.connections.findById(Y.id);if(!J||J.organization_id!==Q.id)throw Error("Connection not found");let G=await X.storage.connections.testConnection(Y.id);return{id:Y.id,...G}}})});var AO1=v(()=>{ZD1();bD1();xD1();LO1();wO1();MO1()});import{sql as H4}from"kysely";function PO1(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 R94(Y,X){let Q=Y;for(let G=X.length;G>=1;G--){let K=`$${G}`;if(Q.includes(K))Q=Q.replaceAll(K,PO1(X[G-1]))}let J=[];for(let G=0;G<Q.length;G++)if(Q[G]==="?")J.push(G);for(let G=Math.min(J.length,X.length)-1;G>=0;G--){let K=J[G],W=PO1(X[G]);Q=Q.slice(0,K)+W+Q.slice(K+1)}return Q}function TO1(Y){return Y.replace(/-/g,"_")}function S94(Y){return`app_${TO1(Y)}`}function k94(Y){return`app_role_${TO1(Y)}`}function v94(Y){if(Y instanceof Error){let X=Y.message.toLowerCase(),Q=Y.code;return Q==="3F000"||Q==="42704"||Q==="22023"||X.includes("schema")&&X.includes("does not exist")||X.includes("role")&&X.includes("does not exist")}return!1}async function _94(Y,X,Q){if(await H4`CREATE SCHEMA IF NOT EXISTS ${H4.id(X)}`.execute(Y),!(await H4`
1040
1040
  SELECT EXISTS (SELECT 1 FROM pg_roles WHERE rolname = ${Q}) as exists
1041
1041
  `.execute(Y)).rows[0]?.exists)await H4`CREATE ROLE ${H4.id(Q)} NOLOGIN`.execute(Y);await H4`GRANT ${H4.id(Q)} TO CURRENT_USER`.execute(Y),await H4`GRANT USAGE, CREATE ON SCHEMA ${H4.id(X)} TO ${H4.id(Q)}`.execute(Y),await H4`GRANT ALL ON ALL TABLES IN SCHEMA ${H4.id(X)} TO ${H4.id(Q)}`.execute(Y),await H4`GRANT ALL ON ALL SEQUENCES IN SCHEMA ${H4.id(X)} TO ${H4.id(Q)}`.execute(Y),await H4`ALTER DEFAULT PRIVILEGES IN SCHEMA ${H4.id(X)} GRANT ALL ON TABLES TO ${H4.id(Q)}`.execute(Y),await H4`ALTER DEFAULT PRIVILEGES IN SCHEMA ${H4.id(X)} GRANT ALL ON SEQUENCES TO ${H4.id(Q)}`.execute(Y),await H4`REVOKE ALL ON SCHEMA public FROM ${H4.id(Q)}`.execute(Y)}async function y94(Y,X,Q,J){try{return await Y.transaction().execute(async(G)=>{return await H4`SET LOCAL ROLE ${H4.id(Q)}`.execute(G),await H4`SET LOCAL search_path TO ${H4.id(X)}`.execute(G),await H4.raw(J).execute(G)})}catch(G){if(v94(G))return await _94(Y,X,Q),await Y.transaction().execute(async(K)=>{return await H4`SET LOCAL ROLE ${H4.id(Q)}`.execute(K),await H4`SET LOCAL search_path TO ${H4.id(X)}`.execute(K),await H4.raw(J).execute(K)});throw G}}var I94,j94,EO1;var CO1=v(()=>{h0();k1();I94=B.object({results:B.array(B.unknown()).optional(),success:B.boolean().optional()});j94=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()});EO1=y0({name:"DATABASES_RUN_SQL",description:"Run a SQL query against the database",inputSchema:j94,outputSchema:B.object({result:B.array(I94)}),handler:async(Y,X)=>{u0(X),await X.access.check();let Q=R94(Y.sql,Y.params||[]);if(!X.connectionId)throw Error("Connection context required for database access");let J=S94(X.connectionId),G=k94(X.connectionId);return{result:[{results:(await y94(X.db,J,G,Q)).rows,success:!0}]}}})});var IO1,h94,RO1;var JK=v(()=>{h0();Xu();IO1=B.object({connectionId:B.string().optional().describe("Filter subscriptions by connection ID (optional)")}),h94=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)")}),RO1=B.object({subscriptions:B.array(h94).describe("List of subscriptions")})});var FG0;var jO1=v(()=>{k1();JK();FG0=y0({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.",inputSchema:$2,outputSchema:V2,handler:async(Y,X)=>{u0(X);let Q=q1(X);await X.access.check();let J=X.connectionId;if(!J)throw Error("Connection ID required to publish events. Use a connection-scoped token.");let G=await X.eventBus.publish(Q.id,J,{type:Y.type,subject:Y.subject,data:Y.data,deliverAt:Y.deliverAt,cron:Y.cron});return{id:G.id,type:G.type,source:G.source,time:G.time}}})});var $G0;var SO1=v(()=>{k1();JK();$G0=y0({name:"EVENT_SUBSCRIBE",description:"Subscribe to events of a specific type. The subscriber is automatically set to the caller's connection.",inputSchema:q2,outputSchema:B2,handler:async(Y,X)=>{u0(X);let Q=q1(X);await X.access.check();let J=X.connectionId;if(!J)throw Error("Connection ID required to subscribe. Use a connection-scoped token.");let G=await X.eventBus.subscribe(Q.id,{connectionId:J,eventType:Y.eventType,publisher:Y.publisher,filter:Y.filter});return{subscription:{id:G.id,connectionId:G.connectionId,eventType:G.eventType,publisher:G.publisher,filter:G.filter,enabled:G.enabled,createdAt:G.createdAt instanceof Date?G.createdAt.toISOString():G.createdAt,updatedAt:G.updatedAt instanceof Date?G.updatedAt.toISOString():G.updatedAt}}}})});var VG0;var kO1=v(()=>{k1();JK();VG0=y0({name:"EVENT_UNSUBSCRIBE",description:"Unsubscribe from events by removing a subscription.",inputSchema:D2,outputSchema:O2,handler:async(Y,X)=>{u0(X);let Q=q1(X);await X.access.check();let J=X.connectionId;if(!J)throw Error("Connection ID required to unsubscribe. Use a connection-scoped token.");let G=await X.eventBus.getSubscription(Q.id,Y.subscriptionId);if(!G)throw Error(`Subscription not found: ${Y.subscriptionId}`);if(G.connectionId!==J)throw Error("Cannot unsubscribe from a subscription owned by another connection");return{success:(await X.eventBus.unsubscribe(Q.id,Y.subscriptionId)).success,subscriptionId:Y.subscriptionId}}})});var qG0;var vO1=v(()=>{k1();JK();qG0=y0({name:"EVENT_CANCEL",description:"Cancel a recurring event to stop future deliveries. Only the publisher can cancel their own events.",inputSchema:N2,outputSchema:L2,handler:async(Y,X)=>{u0(X);let Q=q1(X);await X.access.check();let J=X.connectionId;if(!J)throw Error("Connection ID required to cancel events. Use a connection-scoped token.");if(!await X.eventBus.getEvent(Q.id,Y.eventId))throw Error(`Event not found: ${Y.eventId}`);if(!(await X.eventBus.cancelEvent(Q.id,Y.eventId,J)).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 BG0;var _O1=v(()=>{k1();JK();BG0=y0({name:"EVENT_ACK",description:"Acknowledge delivery of an event. Call after successfully processing an event received via ON_EVENTS with retryAfter.",inputSchema:w2,outputSchema:M2,handler:async(Y,X)=>{u0(X);let Q=q1(X);await X.access.check();let J=X.connectionId;if(!J)throw Error("Connection ID required to acknowledge events. Use a connection-scoped token.");if(!(await X.eventBus.ackEvent(Q.id,Y.eventId,J)).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 zG0;var yO1=v(()=>{k1();JK();zG0=y0({name:"EVENT_SUBSCRIPTION_LIST",description:"List event subscriptions, optionally filtered by connection ID.",inputSchema:IO1,outputSchema:RO1,handler:async(Y,X)=>{u0(X);let Q=q1(X);return await X.access.check(),{subscriptions:(await X.eventBus.listSubscriptions(Q.id,Y.connectionId)).map((G)=>({id:G.id,connectionId:G.connectionId,eventType:G.eventType,publisher:G.publisher,filter:G.filter,enabled:G.enabled,createdAt:G.createdAt instanceof Date?G.createdAt.toISOString():G.createdAt,updatedAt:G.updatedAt instanceof Date?G.updatedAt.toISOString():G.updatedAt}))}}})});var UG0;var fO1=v(()=>{k1();JK();UG0=y0({name:"EVENT_SYNC_SUBSCRIPTIONS",description:"Sync subscriptions to desired state. Creates new, deletes removed, updates changed filters. Subscriptions are identified by (eventType, publisher).",inputSchema:z2,outputSchema:U2,handler:async(Y,X)=>{u0(X);let Q=q1(X);await X.access.check();let J=X.connectionId;if(!J)throw Error("Connection ID required to sync subscriptions. Use a connection-scoped token.");let G=await X.eventBus.syncSubscriptions(Q.id,{connectionId:J,subscriptions:Y.subscriptions});return{created:G.created,updated:G.updated,deleted:G.deleted,unchanged:G.unchanged,subscriptions:G.subscriptions.map((K)=>({id:K.id,connectionId:K.connectionId,eventType:K.eventType,publisher:K.publisher,filter:K.filter,enabled:K.enabled,createdAt:K.createdAt instanceof Date?K.createdAt.toISOString():K.createdAt,updatedAt:K.updatedAt instanceof Date?K.updatedAt.toISOString():K.updatedAt}))}}})});var hO1=v(()=>{jO1();SO1();kO1();vO1();_O1();yO1();fO1();JK()});var WO=v(()=>{o_()});var x94,u94,DG0;var bO1=v(()=>{h0();k1();WO();x94=B.object({data:JA.describe("Data for the new virtual MCP")}),u94=B.object({item:QJ.describe("The created virtual MCP entity")}),DG0=y0({name:"COLLECTION_VIRTUAL_MCP_CREATE",description:"Create a new MCP virtual MCP in the organization",inputSchema:x94,outputSchema:u94,handler:async(Y,X)=>{u0(X);let Q=q1(X);await X.access.check();let J=b8(X);if(!J)throw Error("User ID required to create virtual MCP");return{item:await X.storage.virtualMcps.create(Q.id,J,Y.data)}}})});function g94(Y){let X=[],Q=0;while(Q<Y.length){let J=Y[Q];if(J==="%")X.push(".*");else if(J==="_")X.push(".");else if(/[.*+?^${}()|[\]\\]/.test(J))X.push("\\"+J);else X.push(J);Q++}return X.join("")}function f3(Y){return typeof Y==="string"||typeof Y==="number"}function OG0(Y,X){let Q=X.split("."),J=Y;for(let G of Q){if(J==null||typeof J!=="object")return;J=J[G]}return J}function m94(Y,X){return Y.connections.some((Q)=>Q.connection_id===X)}function $u(Y,X){if("conditions"in X){let{operator:Z,conditions:H}=X;switch(Z){case"and":return H.every((F)=>$u(Y,F));case"or":return H.some((F)=>$u(Y,F));case"not":return!H.every((F)=>$u(Y,F));default:return!0}}let{field:Q,operator:J,value:G}=X,K=Q.join(".");if(K==="connection_id"){if(J!=="eq"||typeof G!=="string")return!1;return m94(Y,G)}let W=OG0(Y,K);switch(J){case"eq":return W===G;case"gt":return f3(W)&&f3(G)&&W>G;case"gte":return f3(W)&&f3(G)&&W>=G;case"lt":return f3(W)&&f3(G)&&W<G;case"lte":return f3(W)&&f3(G)&&W<=G;case"in":return Array.isArray(G)&&G.includes(W);case"like":if(typeof W!=="string"||typeof G!=="string")return!1;if(G.length>100)return!1;let Z=g94(G);return new RegExp(`^${Z}$`,"i").test(W);case"contains":if(typeof W!=="string"||typeof G!=="string")return!1;return W.toLowerCase().includes(G.toLowerCase());default:return!0}}function l94(Y,X){return[...Y].sort((Q,J)=>{for(let G of X){let K=G.field.join("."),W=OG0(Q,K),Z=OG0(J,K),H=0;if(W==null&&Z==null)continue;if(W==null)H=G.nulls==="first"?-1:1;else if(Z==null)H=G.nulls==="first"?1:-1;else if(typeof W==="string"&&typeof Z==="string")H=W.localeCompare(Z);else if(typeof W==="number"&&typeof Z==="number")H=W-Z;else H=String(W).localeCompare(String(Z));if(H!==0)return G.direction==="desc"?-H:H}return 0})}var d94,p94,NG0;var xO1=v(()=>{j5();k1();WO();d94=sZ,p94=tZ(QJ),NG0=y0({name:"COLLECTION_VIRTUAL_MCP_LIST",description:"List all MCP virtual MCPs in the organization",inputSchema:d94,outputSchema:p94,handler:async(Y,X)=>{await X.access.check();let Q=q1(X),J=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,K=J?await X.storage.virtualMcps.listByConnectionId(Q.id,J):await X.storage.virtualMcps.list(Q.id);if(Y.where)K=K.filter((V)=>$u(V,Y.where));if(Y.orderBy&&Y.orderBy.length>0)K=l94(K,Y.orderBy);let W=K.length,Z=Y.offset??0,H=Y.limit??100,F=K.slice(Z,Z+H),$=Z+H<W;return{items:F,totalCount:W,hasMore:$}}})});var c94,n94,LG0;var uO1=v(()=>{h0();k1();WO();c94=B.object({id:B.string().describe("ID of the virtual MCP to retrieve")}),n94=B.object({item:QJ.nullable().describe("The retrieved virtual MCP, or null if not found")}),LG0=y0({name:"COLLECTION_VIRTUAL_MCP_GET",description:"Get an MCP virtual MCP by ID",inputSchema:c94,outputSchema:n94,handler:async(Y,X)=>{u0(X);let Q=q1(X);await X.access.check();let J=await X.storage.virtualMcps.findById(Y.id);if(J&&J.organization_id!==Q.id)return{item:null};if(!J)return{item:null};return{item:J}}})});var i94,a94,wG0;var gO1=v(()=>{h0();k1();WO();i94=B.object({id:B.string().describe("ID of the virtual MCP to update"),data:GA.describe("Partial virtual MCP data to update")}),a94=B.object({item:QJ.describe("The updated virtual MCP entity")}),wG0=y0({name:"COLLECTION_VIRTUAL_MCP_UPDATE",description:"Update an MCP virtual MCP",inputSchema:i94,outputSchema:a94,handler:async(Y,X)=>{u0(X);let Q=q1(X);await X.access.check();let J=b8(X);if(!J)throw Error("User ID required to update virtual MCP");let G=await X.storage.virtualMcps.findById(Y.id);if(!G)throw Error(`Virtual MCP not found: ${Y.id}`);if(G.organization_id!==Q.id)throw Error(`Virtual MCP not found: ${Y.id}`);return{item:await X.storage.virtualMcps.update(Y.id,J,Y.data)}}})});var r94,o94,MG0;var mO1=v(()=>{h0();k1();WO();r94=B.object({id:B.string().describe("ID of the virtual MCP to delete")}),o94=B.object({item:QJ.describe("The deleted virtual MCP entity")}),MG0=y0({name:"COLLECTION_VIRTUAL_MCP_DELETE",description:"Delete an MCP virtual MCP",inputSchema:r94,outputSchema:o94,handler:async(Y,X)=>{u0(X);let Q=q1(X);await X.access.check();let J=await X.storage.virtualMcps.findById(Y.id);if(!J)throw Error(`Virtual MCP not found: ${Y.id}`);if(J.organization_id!==Q.id)throw Error(`Virtual MCP not found: ${Y.id}`);return await X.storage.virtualMcps.delete(Y.id),{item:J}}})});var lO1=v(()=>{bO1();xO1();uO1();gO1();mO1()});var t94,e94,AG0;var dO1=v(()=>{h0();k1();QK();t94=B.object({virtual_mcp_id:B.string().describe("ID of the Virtual MCP to add the tool to"),data:JO1.describe("Virtual tool data")}),e94=B.object({item:qW.describe("The created virtual tool")}),AG0=y0({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.",inputSchema:t94,outputSchema:e94,handler:async(Y,X)=>{u0(X);let Q=q1(X);await X.access.check();let J=await X.storage.virtualMcps.findById(Y.virtual_mcp_id);if(!J||J.organization_id!==Q.id)throw Error(`Virtual MCP not found: ${Y.virtual_mcp_id}`);let G=Y.data.connection_dependencies??[];return{item:await X.storage.virtualMcps.createVirtualTool(Y.virtual_mcp_id,Y.data,G)}}})});var YY4,XY4,PG0;var pO1=v(()=>{h0();k1();QK();YY4=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")}),XY4=B.object({items:B.array(qW).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")}),PG0=y0({name:"COLLECTION_VIRTUAL_TOOLS_LIST",description:"List all virtual tools for a Virtual MCP",inputSchema:YY4,outputSchema:XY4,handler:async(Y,X)=>{u0(X);let Q=q1(X);await X.access.check();let J=await X.storage.virtualMcps.findById(Y.virtual_mcp_id);if(!J||J.organization_id!==Q.id)return{items:[],totalCount:0,hasMore:!1};let G=await X.storage.virtualMcps.listVirtualTools(Y.virtual_mcp_id),K=G.length,W=Y.offset??0,Z=Y.limit??100,H=G.slice(W,W+Z),F=W+Z<K;return{items:H,totalCount:K,hasMore:F}}})});var QY4,JY4,TG0;var cO1=v(()=>{h0();k1();QK();QY4=B.object({virtual_mcp_id:B.string().describe("ID of the Virtual MCP"),name:B.string().describe("Name of the virtual tool to retrieve")}),JY4=B.object({item:qW.nullable().describe("The retrieved virtual tool, or null if not found")}),TG0=y0({name:"COLLECTION_VIRTUAL_TOOLS_GET",description:"Get a virtual tool by name from a Virtual MCP",inputSchema:QY4,outputSchema:JY4,handler:async(Y,X)=>{u0(X);let Q=q1(X);await X.access.check();let J=await X.storage.virtualMcps.findById(Y.virtual_mcp_id);if(!J||J.organization_id!==Q.id)return{item:null};return{item:await X.storage.virtualMcps.getVirtualTool(Y.virtual_mcp_id,Y.name)}}})});var GY4,WY4,EG0;var nO1=v(()=>{h0();k1();QK();GY4=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:GO1.describe("Partial virtual tool data to update")}),WY4=B.object({item:qW.describe("The updated virtual tool")}),EG0=y0({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.",inputSchema:GY4,outputSchema:WY4,handler:async(Y,X)=>{u0(X);let Q=q1(X);await X.access.check();let J=await X.storage.virtualMcps.findById(Y.virtual_mcp_id);if(!J||J.organization_id!==Q.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 K=Y.data.connection_dependencies;return{item:await X.storage.virtualMcps.updateVirtualTool(Y.virtual_mcp_id,Y.name,Y.data,K)}}})});var ZY4,KY4,CG0;var iO1=v(()=>{h0();k1();QK();ZY4=B.object({virtual_mcp_id:B.string().describe("ID of the Virtual MCP"),name:B.string().describe("Name of the virtual tool to delete")}),KY4=B.object({item:qW.describe("The deleted virtual tool")}),CG0=y0({name:"COLLECTION_VIRTUAL_TOOLS_DELETE",description:"Delete a virtual tool from a Virtual MCP",inputSchema:ZY4,outputSchema:KY4,handler:async(Y,X)=>{u0(X);let Q=q1(X);await X.access.check();let J=await X.storage.virtualMcps.findById(Y.virtual_mcp_id);if(!J||J.organization_id!==Q.id)throw Error(`Virtual MCP not found: ${Y.virtual_mcp_id}`);let G=await X.storage.virtualMcps.getVirtualTool(Y.virtual_mcp_id,Y.name);if(!G)throw Error(`Virtual tool not found: ${Y.name}`);return await X.storage.virtualMcps.deleteVirtualTool(Y.virtual_mcp_id,Y.name),{item:G}}})});var aO1=v(()=>{dO1();pO1();cO1();nO1();iO1()});var FY4,IG0;var rO1=v(()=>{k1();h0();FY4=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")}),IG0=y0({name:"MONITORING_LOGS_LIST",description:"List monitoring logs for tool calls in the organization",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(FY4).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 Q=q1(X),G=Y.properties||Y.propertyKeys||Y.propertyPatterns||Y.propertyInValues?{properties:Y.properties,propertyKeys:Y.propertyKeys,propertyPatterns:Y.propertyPatterns,propertyInValues:Y.propertyInValues}:void 0,K={organizationId:Q.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:G},W=await X.storage.monitoring.query(K);return{logs:W.logs.map((Z)=>({...Z,timestamp:Z.timestamp instanceof Date?Z.timestamp.toISOString():Z.timestamp})),total:W.total,offset:Y.offset,limit:Y.limit}}})});var RG0;var oO1=v(()=>{k1();h0();RG0=y0({name:"MONITORING_STATS",description:"Get aggregated statistics for tool call monitoring",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 J={organizationId:q1(X).id,startDate:Y.startDate?new Date(Y.startDate):void 0,endDate:Y.endDate?new Date(Y.endDate):void 0},G=await X.storage.monitoring.getStats(J);return{...G,errorRatePercent:(G.errorRate*100).toFixed(2)}}})});var sO1=v(()=>{rO1();oO1()});var jG0;var tO1=v(()=>{h0();k1();jG0=y0({name:"ORGANIZATION_CREATE",description:"Create a new organization",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)=>{u0(X),await X.access.check();let Q=b8(X);if(!Q)throw Error("User ID required to create organization");let J=await X.boundAuth.organization.create({name:Y.name,slug:Y.slug,metadata:Y.description?{description:Y.description}:void 0,userId:Q});if(!J)throw Error("Failed to create organization");return{...J,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt}}})});var SG0;var eO1=v(()=>{h0();k1();SG0=y0({name:"ORGANIZATION_LIST",description:"List all organizations user has access to",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)=>{u0(X),await X.access.check();let Q=b8(X),J=Y.userId||Q;if(!J)throw Error("User ID required to list organizations");return{organizations:(await X.boundAuth.organization.list(J)).map((K)=>({...K,createdAt:K.createdAt instanceof Date?K.createdAt.toISOString():K.createdAt}))}}})});var kG0;var YN1=v(()=>{h0();k1();kG0=y0({name:"ORGANIZATION_GET",description:"Get organization details by slug or ID",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)=>{u0(X),await X.access.check();let Q=await X.boundAuth.organization.get();if(!Q)throw Error("No active organization found");let J=new Date,G=Q.invitations?.filter((K)=>new Date(K.expiresAt)>J);return{...Q,invitations:G,createdAt:Q.createdAt instanceof Date?Q.createdAt.toISOString():Q.createdAt}}})});var vG0;var XN1=v(()=>{h0();k1();vG0=y0({name:"ORGANIZATION_UPDATE",description:"Update an existing organization",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)=>{u0(X),await X.access.check();let Q={};if(Y.name)Q.name=Y.name;if(Y.slug)Q.slug=Y.slug;if(Y.description)Q.metadata={description:Y.description};let J=await X.boundAuth.organization.update({organizationId:Y.id,data:Q});if(!J)throw Error("Failed to update organization");return{...J,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt}}})});var _G0;var QN1=v(()=>{h0();k1();_G0=y0({name:"ORGANIZATION_DELETE",description:"Delete an organization",inputSchema:B.object({id:B.string()}),outputSchema:B.object({success:B.boolean(),id:B.string()}),handler:async(Y,X)=>{return u0(X),await X.access.check(),await X.boundAuth.organization.delete(Y.id),{success:!0,id:Y.id}}})});var f2;var yG0=v(()=>{h0();f2=B.object({title:B.string(),url:B.string(),icon:B.string()})});var fG0;var JN1=v(()=>{h0();k1();yG0();fG0=y0({name:"ORGANIZATION_SETTINGS_GET",description:"Get organization-level settings",inputSchema:B.object({}),outputSchema:B.object({organizationId:B.string(),sidebar_items:B.array(f2).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)=>{u0(X),await X.access.check();let Q=X.organization?.id;if(!Q)throw Error("Organization ID required (no active organization in context)");let J=await X.storage.organizationSettings.get(Q);if(!J)return{organizationId:Q};return{...J,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt,updatedAt:J.updatedAt instanceof Date?J.updatedAt.toISOString():J.updatedAt}}})});var hG0;var GN1=v(()=>{h0();k1();yG0();hG0=y0({name:"ORGANIZATION_SETTINGS_UPDATE",description:"Update organization-level settings",inputSchema:B.object({organizationId:B.string(),sidebar_items:B.array(f2).optional(),enabled_plugins:B.array(B.string()).optional()}),outputSchema:B.object({organizationId:B.string(),sidebar_items:B.array(f2).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(u0(X),await X.access.check(),X.organization&&X.organization.id!==Y.organizationId)throw Error("Cannot update settings for a different organization");let Q=await X.storage.organizationSettings.upsert(Y.organizationId,{sidebar_items:Y.sidebar_items,enabled_plugins:Y.enabled_plugins});return{...Q,createdAt:Q.createdAt instanceof Date?Q.createdAt.toISOString():Q.createdAt,updatedAt:Q.updatedAt instanceof Date?Q.updatedAt.toISOString():Q.updatedAt}}})});var bG0;var WN1=v(()=>{h0();k1();bG0=y0({name:"ORGANIZATION_MEMBER_ADD",description:"Add a member to an organization",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)=>{u0(X),await X.access.check();let Q=Y.organizationId||X.organization?.id;if(!Q)throw Error("Organization ID required (no active organization in context)");let J=await X.boundAuth.organization.addMember({organizationId:Q,userId:Y.userId,role:Y.role});if(!J)throw Error("Failed to add member");return{...J,role:J.role,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt}}})});var xG0;var ZN1=v(()=>{h0();k1();xG0=y0({name:"ORGANIZATION_MEMBER_REMOVE",description:"Remove a member from an organization",inputSchema:B.object({organizationId:B.string().optional(),memberIdOrEmail:B.string()}),outputSchema:B.object({success:B.boolean(),memberIdOrEmail:B.string()}),handler:async(Y,X)=>{u0(X),await X.access.check();let Q=Y.organizationId||X.organization?.id;if(!Q)throw Error("Organization ID required (no active organization in context)");return await X.boundAuth.organization.removeMember({organizationId:Q,memberIdOrEmail:Y.memberIdOrEmail}),{success:!0,memberIdOrEmail:Y.memberIdOrEmail}}})});var uG0;var KN1=v(()=>{h0();k1();uG0=y0({name:"ORGANIZATION_MEMBER_LIST",description:"List all members in an organization",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)=>{u0(X),await X.access.check();let Q=X.organization?.id;if(!Q)throw Error("Organization ID required (no active organization in context)");let J=await X.boundAuth.organization.listMembers({organizationId:Q,limit:Y.limit,offset:Y.offset});return{members:(Array.isArray(J)?J:[]).map((K)=>({...K,createdAt:K.createdAt instanceof Date?K.createdAt.toISOString():K.createdAt}))}}})});var gG0;var HN1=v(()=>{h0();k1();gG0=y0({name:"ORGANIZATION_MEMBER_UPDATE_ROLE",description:"Update a member's role in an organization",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)=>{u0(X),await X.access.check();let Q=Y.organizationId||X.organization?.id;if(!Q)throw Error("Organization ID required (no active organization in context)");let J=await X.boundAuth.organization.updateMemberRole({organizationId:Q,memberId:Y.memberId,role:Y.role});if(!J)throw Error("Failed to update member role");return{...J,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt}}})});var FN1=v(()=>{tO1();eO1();YN1();XN1();QN1();JN1();GN1();WN1();ZN1();KN1();HN1()});var qY4,Vu,BY4,eV,$N1,qu;var Yq=v(()=>{h0();qY4=B.object({banner:B.string().nullable(),bannerColor:B.string().nullable(),icon:B.string().nullable(),themeColor:B.string().nullable()}),Vu=B.object({banner:B.string().nullable().optional(),bannerColor:B.string().nullable().optional(),icon:B.string().nullable().optional(),themeColor:B.string().nullable().optional()}),BY4=B.object({id:B.string(),title:B.string(),icon:B.string().nullable()}),eV=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:qY4.nullable(),createdAt:B.string().datetime().describe("ISO 8601 timestamp"),updatedAt:B.string().datetime().describe("ISO 8601 timestamp")}),$N1=eV.omit({organizationId:!0}).extend({boundConnections:B.array(BY4)}),qu=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 mG0;var VN1=v(()=>{h0();k1();Yq();mG0=y0({name:"PROJECT_LIST",description:"List all projects in an organization",inputSchema:B.object({organizationId:B.string().describe("Organization ID to list projects for")}),outputSchema:B.object({projects:B.array($N1)}),handler:async(Y,X)=>{u0(X),await X.access.check();let Q=await X.storage.projects.list(Y.organizationId),J=Q.map((K)=>K.id),G=await X.storage.projectPluginConfigs.getBoundConnectionsForProjects(J);return{projects:Q.map((K)=>({id:K.id,slug:K.slug,name:K.name,description:K.description,enabledPlugins:K.enabledPlugins,ui:K.ui,boundConnections:G.get(K.id)??[],createdAt:K.createdAt instanceof Date?K.createdAt.toISOString():K.createdAt,updatedAt:K.updatedAt instanceof Date?K.updatedAt.toISOString():K.updatedAt}))}}})});var lG0;var qN1=v(()=>{h0();k1();Yq();lG0=y0({name:"PROJECT_GET",description:"Get a project by ID or slug",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:eV.nullable()}),handler:async(Y,X)=>{u0(X),await X.access.check();let Q=null;if(Y.projectId)Q=await X.storage.projects.get(Y.projectId);else if(Y.slug)Q=await X.storage.projects.getBySlug(Y.organizationId,Y.slug);if(!Q)return{project:null};return{project:{id:Q.id,organizationId:Q.organizationId,slug:Q.slug,name:Q.name,description:Q.description,enabledPlugins:Q.enabledPlugins,ui:Q.ui,createdAt:Q.createdAt instanceof Date?Q.createdAt.toISOString():Q.createdAt,updatedAt:Q.updatedAt instanceof Date?Q.updatedAt.toISOString():Q.updatedAt}}}})});var dG0;var BN1=v(()=>{h0();YX();k1();Yq();dG0=y0({name:"PROJECT_CREATE",description:"Create a new project in an organization",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:Vu.nullable().optional().describe("UI customization")}),outputSchema:B.object({project:eV}),handler:async(Y,X)=>{u0(X),await X.access.check();let{organizationId:Q,slug:J,name:G,description:K,enabledPlugins:W,ui:Z}=Y;if(J===dW)throw Error(`Slug "${dW}" is reserved`);if(await X.storage.projects.getBySlug(Q,J))throw Error(`Project with slug "${J}" 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:Q,slug:J,name:G,description:K??null,enabledPlugins:W??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 pG0;var zN1=v(()=>{h0();k1();Yq();pG0=y0({name:"PROJECT_UPDATE",description:"Update a project's details",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:Vu.nullable().optional().describe("Updated UI customization")}),outputSchema:B.object({project:eV.nullable()}),handler:async(Y,X)=>{u0(X),await X.access.check();let{projectId:Q,name:J,description:G,enabledPlugins:K,ui:W}=Y,Z={};if(J!==void 0)Z.name=J;if(G!==void 0)Z.description=G;if(K!==void 0)Z.enabledPlugins=K;if(W!==void 0)Z.ui=W?{banner:W.banner??null,bannerColor:W.bannerColor??null,icon:W.icon??null,themeColor:W.themeColor??null}:null;let H=await X.storage.projects.update(Q,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 cG0;var UN1=v(()=>{h0();YX();k1();cG0=y0({name:"PROJECT_DELETE",description:"Delete a project (cannot delete org-admin)",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)=>{u0(X),await X.access.check();let{projectId:Q}=Y,J=await X.storage.projects.get(Q);if(!J)return{success:!1,message:"Project not found"};if(J.slug===dW)return{success:!1,message:"Cannot delete the org-admin project"};return{success:await X.storage.projects.delete(Q)}}})});var nG0;var DN1=v(()=>{h0();k1();Yq();nG0=y0({name:"PROJECT_PLUGIN_CONFIG_GET",description:"Get plugin configuration for a project",inputSchema:B.object({projectId:B.string().describe("Project ID"),pluginId:B.string().describe("Plugin ID")}),outputSchema:B.object({config:qu.nullable()}),handler:async(Y,X)=>{u0(X),await X.access.check();let{projectId:Q,pluginId:J}=Y,G=await X.storage.projectPluginConfigs.get(Q,J);if(!G)return{config:null};return{config:{id:G.id,projectId:G.projectId,pluginId:G.pluginId,connectionId:G.connectionId,settings:G.settings,createdAt:G.createdAt instanceof Date?G.createdAt.toISOString():G.createdAt,updatedAt:G.updatedAt instanceof Date?G.updatedAt.toISOString():G.updatedAt}}}})});var iG0;var ON1=v(()=>{h0();k1();Yq();Gu();iG0=y0({name:"PROJECT_PLUGIN_CONFIG_UPDATE",description:"Update or create plugin configuration for a project",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:qu}),handler:async(Y,X)=>{u0(X),await X.access.check();let{projectId:Q,pluginId:J,connectionId:G,settings:K}=Y,W=b8(X),Z=await X.storage.projects.get(Q);if(!Z)throw Error(`Project not found: ${Q}`);let H=G?await X.storage.connections.findById(G):null;if(G&&Z.organizationId&&!H&&eD()){if(Ju(G,Z.organizationId)){if(!W)throw Error("User ID required to create dev-assets connection");let $=YO(Z.organizationId,AJ());await X.storage.connections.create({...$,organization_id:Z.organizationId,created_by:W})}}let F=await X.storage.projectPluginConfigs.upsert(Q,J,{connectionId:G,settings:K});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 NN1=v(()=>{VN1();qN1();BN1();zN1();UN1();DN1();ON1()});var aG0;var LN1=v(()=>{h0();k1();aG0=y0({name:"TAGS_LIST",description:"List all tags in an organization",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)=>{u0(X),await X.access.check();let Q=q1(X);return{tags:(await X.storage.tags.listOrgTags(Q.id)).map((G)=>({...G,createdAt:G.createdAt instanceof Date?G.createdAt.toISOString():String(G.createdAt)}))}}})});var rG0;var wN1=v(()=>{h0();k1();rG0=y0({name:"TAGS_CREATE",description:"Create a new tag in an organization",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)=>{u0(X),await X.access.check();let Q=q1(X),J=await X.storage.tags.createTag(Q.id,Y.name);return{tag:{...J,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():String(J.createdAt)}}}})});var oG0;var MN1=v(()=>{h0();k1();oG0=y0({name:"TAGS_DELETE",description:"Delete a tag from an organization (removes from all members)",inputSchema:B.object({tagId:B.string().describe("Tag ID to delete")}),outputSchema:B.object({success:B.boolean()}),handler:async(Y,X)=>{u0(X),await X.access.check();let Q=q1(X),J=await X.storage.tags.getTag(Y.tagId);if(!J)throw Error("Tag not found");if(J.organizationId!==Q.id)throw Error("Tag does not belong to this organization");return await X.storage.tags.deleteTag(Y.tagId),{success:!0}}})});var sG0;var AN1=v(()=>{h0();k1();sG0=y0({name:"MEMBER_TAGS_GET",description:"Get tags assigned to a member",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)=>{u0(X),await X.access.check();let Q=q1(X);if(!await X.storage.tags.verifyMemberOrg(Y.memberId,Q.id))throw Error(`Member not found in this organization: ${Y.memberId}`);return{tags:(await X.storage.tags.getMemberTags(Y.memberId)).map((K)=>({...K,createdAt:K.createdAt instanceof Date?K.createdAt.toISOString():String(K.createdAt)}))}}})});var tG0;var PN1=v(()=>{h0();k1();tG0=y0({name:"MEMBER_TAGS_SET",description:"Set tags for a member (replaces all existing tags)",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)=>{u0(X),await X.access.check();let Q=q1(X);if(!await X.storage.tags.verifyMemberOrg(Y.memberId,Q.id))throw Error(`Member not found in this organization: ${Y.memberId}`);for(let K of Y.tagIds){let W=await X.storage.tags.getTag(K);if(!W)throw Error(`Tag not found: ${K}`);if(W.organizationId!==Q.id)throw Error(`Tag does not belong to this organization: ${K}`)}return await X.storage.tags.setMemberTags(Y.memberId,Y.tagIds),{success:!0,tags:(await X.storage.tags.getMemberTags(Y.memberId)).map((K)=>({...K,createdAt:K.createdAt instanceof Date?K.createdAt.toISOString():String(K.createdAt)}))}}})});var TN1=v(()=>{LN1();wN1();MN1();AN1();PN1()});var EN1,BW,CN1,IN1;var Xq=v(()=>{h0();EN1=B.object({id:B.string().describe("Unique message ID"),threadId: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"),createdAt:B.string().datetime().describe("Timestamp of creation"),updatedAt:B.string().datetime().describe("Timestamp of last update")}),BW=B.object({id:B.string().describe("Unique thread ID"),organizationId:B.string().describe("Organization this thread belongs to"),title:B.string().describe("Thread title"),description:B.string().nullable().describe("Thread description"),createdAt:B.string().datetime().describe("Timestamp of creation"),updatedAt:B.string().datetime().describe("Timestamp of last update"),hidden:B.boolean().optional().describe("Whether the thread is hidden"),createdBy:B.string().describe("User ID who created the thread"),updatedBy:B.string().nullable().describe("User ID who last updated the thread")}),CN1=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")}),IN1=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 DY4,OY4,eG0;var RN1=v(()=>{h0();k1();Xq();R5();DY4=B.object({data:CN1.describe("Data for the new thread (id is auto-generated if not provided)")}),OY4=B.object({item:BW.describe("The created thread entity")}),eG0=y0({name:"COLLECTION_THREADS_CREATE",description:"Create a new thread in the organization",inputSchema:DY4,outputSchema:OY4,handler:async(Y,X)=>{u0(X);let Q=q1(X);await X.access.check();let J=b8(X);if(!J)throw Error("User ID required to create thread");let G=Y.data.id??k4("thrd"),K=await X.storage.threads.create({id:G,organizationId:Q.id,title:Y.data.title,description:Y.data.description,createdBy:J});return{item:{...K,hidden:K.hidden??!1}}}})});var NY4,LY4,Y70;var jN1=v(()=>{j5();k1();Xq();h0();NY4=sZ.extend({where:B.object({created_by:B.string().optional()}).optional()}),LY4=tZ(BW),Y70=y0({name:"COLLECTION_THREADS_LIST",description:"List all threads in the organization with filtering, sorting, and pagination",inputSchema:NY4,outputSchema:LY4,handler:async(Y,X)=>{await X.access.check();let Q=X.auth.user?.id;if(!Q)throw Error("User ID required to list threads");let J=q1(X),G=Y.offset??0,K=Y.limit??100,{threads:W,total:Z}=await X.storage.threads.list(J.id,Q,{limit:K,offset:G}),H=G+K<Z;return{items:W.map((F)=>({...F,hidden:F.hidden??!1})),totalCount:Z,hasMore:H}}})});var wY4,X70;var SN1=v(()=>{j5();k1();Xq();wY4=K2(BW),X70=y0({name:"COLLECTION_THREADS_GET",description:"Get thread details by ID",inputSchema:Z2,outputSchema:wY4,handler:async(Y,X)=>{u0(X);let Q=q1(X);await X.access.check();let J=await X.storage.threads.get(Y.id);if(!J||J.organizationId!==Q.id)return{item:null};return{item:{...J,hidden:J.hidden??!1}}}})});var MY4,AY4,Q70;var kN1=v(()=>{h0();k1();Xq();MY4=B.object({id:B.string().describe("ID of the thread to update"),data:IN1.describe("Partial thread data to update")}),AY4=B.object({item:BW.describe("The updated thread entity")}),Q70=y0({name:"COLLECTION_THREADS_UPDATE",description:"Update an existing thread in the organization",inputSchema:MY4,outputSchema:AY4,handler:async(Y,X)=>{u0(X);let Q=q1(X);await X.access.check();let J=b8(X);if(!J)throw Error("User ID required to update thread");let{id:G,data:K}=Y,W=await X.storage.threads.get(G);if(!W||W.organizationId!==Q.id)throw Error("Thread not found in organization");let Z=await X.storage.threads.update(G,{title:K.title,description:K.description,hidden:K.hidden,updatedBy:J});return{item:{...Z,hidden:Z.hidden??!1}}}})});var J70;var vN1=v(()=>{j5();k1();Xq();J70=y0({name:"COLLECTION_THREADS_DELETE",description:"Delete a thread",inputSchema:H2,outputSchema:F2(BW),handler:async(Y,X)=>{u0(X);let Q=q1(X);await X.access.check();let J=await X.storage.threads.get(Y.id);if(!J)throw Error(`Thread not found: ${Y.id}`);if(J.organizationId!==Q.id)throw Error(`Thread not found: ${Y.id}`);return await X.storage.threads.delete(Y.id),{item:{...J,hidden:J.hidden??!1}}}})});function _N1(Y){if(!Y)return null;if("field"in Y&&Y.field[0]==="threadId"&&Y.operator==="eq")return String(Y.value);if("conditions"in Y)for(let X of Y.conditions){let Q=_N1(X);if(Q)return Q}return null}var PY4,G70;var yN1=v(()=>{j5();k1();Xq();PY4=tZ(EN1),G70=y0({name:"COLLECTION_THREAD_MESSAGES_LIST",description:"List all messages for a specific thread",inputSchema:sZ,outputSchema:PY4,handler:async(Y,X)=>{let Q=q1(X);await X.access.check();let J=_N1(Y.where);if(!J)throw Error("threadId filter is required in where clause");let G=await X.storage.threads.get(J);if(!G||G.organizationId!==Q.id)return{items:[],totalCount:0,hasMore:!1};let K=Y.offset??0,W=Y.limit??100,{messages:Z,total:H}=await X.storage.threads.listMessages(J,{limit:W,offset:K}),F=K+W<H;return{items:Z,totalCount:H,hasMore:F}}})});var fN1=v(()=>{RN1();jN1();SN1();kN1();vN1();yN1()});var EY4,CY4,W70;var hN1=v(()=>{h0();k1();EY4=B.object({id:B.string().min(1)}),CY4=B.object({user:B.object({id:B.string(),name:B.string(),email:B.string(),image:B.string().nullable()}).nullable()}),W70=y0({name:"USER_GET",description:"Get a user by id (restricted to shared organizations)",inputSchema:EY4,outputSchema:CY4,handler:async(Y,X)=>{await X.access.check(),u0(X);let Q=b8(X);if(!Q)throw Error("Authentication required");let J=await X.storage.users.findById(Y.id,Q);if(!J)return{user:null};return{user:{id:J.id,name:J.name,email:J.email,image:J.image??null}}}})});var bN1=v(()=>{hN1()});var uN1={};u8(uN1,{managementMCP:()=>Z70,ALL_TOOLS:()=>xN1});var RY4,jY4,xN1,Z70=async(Y)=>{let X=null;if(Y.organization)X=(await Y.storage.organizationSettings.get(Y.organization.id))?.enabled_plugins??null;let Q=tz1(xN1,X),J=new ZA({name:"mcp-mesh-management",version:"1.0.0"},{capabilities:{tools:{}}});for(let G of Q){let K=G.inputSchema&&typeof G.inputSchema==="object"&&"shape"in G.inputSchema?G.inputSchema:B.object({}),W=G.outputSchema&&typeof G.outputSchema==="object"&&"shape"in G.outputSchema?G.outputSchema:void 0,Z=K.shape,H=W?.shape;J.registerTool(G.name,{description:G.description??"",inputSchema:Z,outputSchema:H},async(F)=>{Y.access.setToolName(G.name);try{let $=await G.execute(F,Y);return{content:[{type:"text",text:JSON.stringify($)}],structuredContent:$}}catch($){return{content:[{type:"text",text:`Error: ${$.message}`}],isError:!0}}})}return J};var K70=v(()=>{J50();l10();h0();UU1();WD1();AO1();CO1();hO1();lO1();aO1();sO1();FN1();NN1();TN1();fN1();bN1();RY4=[jG0,SG0,kG0,vG0,_G0,fG0,hG0,bG0,xG0,uG0,gG0,k50,b50,x50,ZG0,KG0,HG0,DG0,NG0,LG0,wG0,MG0,AG0,PG0,TG0,EG0,CG0,EO1,IG0,RG0,W50,K50,H50,Z50,FG0,$G0,VG0,qG0,BG0,zG0,UG0,W70,R50,j50,S50,eG0,Y70,X70,Q70,J70,G70,aG0,rG0,oG0,sG0,tG0,mG0,lG0,dG0,pG0,cG0,nG0,iG0],jY4=ez1(),xN1=[...RY4,...jY4]});function SY4(Y){return[{permissions:{self:["*"]},getTools:async()=>{let{ALL_TOOLS:X}=await Promise.resolve().then(() => (K70(),uN1));return X.map((Q)=>{return{name:Q.name,inputSchema:B.toJSONSchema(Q.inputSchema,{unrepresentable:"any"}),outputSchema:Q.outputSchema?B.toJSONSchema(Q.outputSchema,{unrepresentable:"any"}):void 0,description:Q.description}})},data:I10(AJ(),Y)},{data:C10()},{data:E10(Y)}]}async function gN1(Y,X){try{let Q=Rx(),J=new mV(process.env.ENCRYPTION_KEY||""),G=new lT(Q.db,J),K=new dT(Q.db),W=SY4(Y);try{await K.create({organizationId:Y,slug:dW,name:pR,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(W.map(async(Z)=>{let H=null;if(Z.permissions)H=(await GK.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 Z.getTools?.()??await cD({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),$=Z.data.id?Z.data.id.startsWith(`${Y}_`)?Z.data.id:`${Y}_${Z.data.id}`:void 0;await G.create({...Z.data,id:$,tools:F,organization_id:Y,created_by:X,connection_token:Z.data.connection_token??H})}))}catch(Q){console.error("Error creating default MCP connections:",Q)}}var mN1=v(()=>{YX();jx();vx();TJ0();EJ0();xx();h0();C2()});var H70,Bu;var zu=v(()=>{H70=["owner","admin","user"],Bu=["owner","admin"]});var kY4=(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"}}}}]}},lN1=(Y)=>{if(Y.providerId==="microsoft")return kY4(Y);throw Error(`Unsupported provider: ${Y.providerId}`)};function vY4(Y){return Y.toLowerCase().trim().replace(/[^a-z0-9\s_-]+/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function _Y4(){let Y=Math.floor(Math.random()*pN1.length),X=Math.floor(Math.random()*dN1.length),Q=pN1[Y]??"deco",J=dN1[X]??"studio";return`${Q}-${J}`}var dN1,pN1,yY4,fY4,Uu,hY4,bY4,xY4,cN1,D9,nN1=void 0,uY4,gY4,mY4,GK;var C2=v(()=>{X60();RH1();zF1();qX0();fQ0();Z$1();kT();B$1();jx();PJ0();sq1();mN1();zu();dN1=["labs","agent","studio","workspace","systems","core","cloud","works"],pN1=["capybara","guarana","deco","samba","feijoada","capoeira","carnival"];yY4=Object.values(BA()).map((Y)=>Y.map((X)=>X.name)).flat(),fY4={...tb,self:["*",...yY4]},Uu=$W(fY4),hY4=Uu.newRole({self:["*"],...MT.statements}),bY4=Uu.newRole({self:["*"],...MT.statements}),xY4=Uu.newRole({self:["*"],...MT.statements}),cN1=Object.values(BA()).map((Y)=>Y.map((X)=>`self:${X.name}`)).flat(),D9=ST.auth;if(D9.inviteEmailProviderId&&D9.emailProviders&&D9.emailProviders.length>0){let Y=kx(D9.emailProviders,D9.inviteEmailProviderId);if(Y){let X=Sx(Y);nN1=async(Q)=>{let J=Q.inviter.user?.name||Q.inviter.user?.email,G=`${AJ()}/auth/accept-invitation?invitationId=${Q.invitation.id}&redirectTo=/`;await X({to:Q.email,subject:`Invitation to join ${Q.organization.name}`,html:`
1042
1042
  <h2>You've been invited!</h2>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@decocms/mesh",
3
- "version": "2.82.0",
3
+ "version": "2.82.1",
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{M as t,Q as a}from"./index-DQ9TOjsi.js";const e=t(a,{target:"draft-7"});export{e as B};
@@ -1,12 +0,0 @@
1
- import{r as N,c as w,j as n,u as ae,m as ke,bt as Re,L as ye,bp as qt,bC as Jt,O as ne,a4 as Xt,q as Qt,x as es,g as re,t as ie,a$ as ts,bD as ot,a as Ye,bE as ss,b3 as it,bF as _e,A as ns,S as lt,b as rs,e as os,N as is,y as ls,K as as,l as at,P as cs}from"./index-DQ9TOjsi.js";import{C as te,i as ds,u as ms}from"./index-CDo7YvLh.js";import{I as fs,n as us,a as Me,c as ct,T as Ee,b as Ae}from"./integration-icon-FtYhgNKh.js";import{P as Se}from"./index-A80QwZTd.js";import{b as He,u as ps,S as de,d as dt}from"./use-deco-chat-open-DeWYX57x.js";import{c as _}from"./utils-Dm1G0W2O.js";import{d as hs}from"./constants-CyHzmdsR.js";import{T as xs,i as gs,b as bs,S as js,c as vs,d as ws,e as Ns,f as Ss,t as mt}from"./typewriter-title-BBlbeBEA.js";import{s as ft}from"./Plus-BUcm60bY.js";import{t as ut}from"./Users03-0nIh3Dmg.js";import{i as Le}from"./X-BuzeH_Ys.js";import{E as pt}from"./error-boundary-Nf2CtbS6.js";import{C as ys}from"./create-project-dialog-BSIrIXxq.js";import{n as Cs}from"./CheckDone01-CQ4X60Dx.js";import{a as ks}from"./Home02-BHKRAEAu.js";import{u as _s}from"./use-project-6LlQxxph.js";import{u as $e}from"./use-mobile-CsekvTUr.js";import{t as ht}from"./ChevronDown-SBTaDy9t.js";import{B as X}from"./button-BENLxTt6.js";import{A as le}from"./avatar-CODuQ7wd.js";import{b as qe,P as Je,a as Xe}from"./popover-CfGRS0cW.js";import{n as Qe}from"./Inbox01-C7RwTkoq.js";import{B as et}from"./badge-CBPiZjKH.js";import{i as De}from"./Check-DDCtzM6Q.js";import{s as tt}from"./XClose-wa7qhUC2.js";import{i as zs}from"./ChevronRight--SfBuQ6E.js";import{a as xt}from"./Settings02-BSUzKPrW.js";import{C as gt}from"./create-organization-dialog-CzJOBrOl.js";import{c as $s,b as Is,g as Os,a as Ts,D as Ps}from"./dialog-xIqrrw1k.js";import{L as Ms}from"./label-D0auY2sQ.js";import{S as Es}from"./switch-Vy1LOfjy.js";import{i as As}from"./Code01-DjtWhPZC.js";import{a as bt}from"./Copy01-BSA43WMM.js";import{u as jt,a as Ls}from"./use-organization-settings-DXrVDIU7.js";import{i as Ds}from"./File06-Dk4vC3hU.js";import{I as Rs}from"./input-BIL-SExV.js";import{c as Hs}from"./Grid01-B4G9OfC4.js";import{a as Us,T as Bs}from"./topbar-portal-CHBG2h8g.js";import{a as Ws,b as Fs,D as Vs,c as Gs,g as st}from"./dropdown-menu-CdsuXytO.js";import{n as nt}from"./LinkExternal01-x3gXIh53.js";import{t as Ks}from"./Settings01-BV96W3K6.js";import{u as vt,L as wt}from"./localstorage-keys-BE-3e1FV.js";import{R as Zs,a as Nt,b as Ys}from"./resizable-DI-Suit4.js";import"./spinner-B6kkRxZ1.js";import"./use-mcp-prompts-O2DarmsN.js";import"./useQuery-KPhLL-WX.js";import"./form-DnmMdQrj.js";import"./AlertCircle-D3KDB3IA.js";import"./ArrowUp-3aAOnqRg.js";import"./Edit01-B5nyemfE.js";import"./usage-B8eRkRZY.js";import"./Terminal-CSvhqBGB.js";import"./monaco-editor-_5dDXxkD.js";import"./empty-state-CEqegtKr.js";import"./use-connection-EDeK5Svd.js";import"./useMutation-BsQPbdYX.js";import"./generate-id-Dyweu44Y.js";import"./SearchMd-DZftd0rG.js";import"./Trash01-ayUasD9O.js";import"./use-virtual-mcp-BSj9UgeS.js";import"./use-create-virtual-mcp-99ACH3DH.js";import"./index-BPEvdlWI.js";import"./use-llm-jfUM8DGq.js";import"./use-binding-Dr0O-jnm.js";import"./binder-CMhpk7ub.js";import"./select-BqfLrW4j.js";import"./Image01-2WD6KqwM.js";import"./RefreshCcw01-Cqf7w1A_.js";import"./textarea-Cz5doER1.js";import"./alert-dialog-Dozrlcm_.js";import"./infiniteQueryObserver-BsFCOv8W.js";const Ve=({size:t=24,color:e="currentColor",...s})=>N.createElement("svg",{viewBox:"0 0 24 24",width:t,height:t,stroke:e,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...s},N.createElement("path",{d:"M7 17 17 7m0 0H7m10 0v10"}));Ve.displayName="ArrowUpRight";const St=({size:t=24,color:e="currentColor",...s})=>N.createElement("svg",{viewBox:"0 0 24 24",width:t,height:t,stroke:e,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...s},N.createElement("path",{d:"M9 7H4.6c-.56 0-.84 0-1.054.109a1 1 0 0 0-.437.437C3 7.76 3 8.04 3 8.6v10.8c0 .56 0 .84.109 1.054a1 1 0 0 0 .437.437C3.76 21 4.04 21 4.6 21H9m0 0h6m-6 0V4.6c0-.56 0-.84.109-1.054a1 1 0 0 1 .437-.437C9.76 3 10.04 3 10.6 3h2.8c.56 0 .84 0 1.054.109a1 1 0 0 1 .437.437C15 3.76 15 4.04 15 4.6V21m0-10h4.4c.56 0 .84 0 1.054.109a1 1 0 0 1 .437.437C21 11.76 21 12.04 21 12.6v6.8c0 .56 0 .84-.109 1.054a1 1 0 0 1-.437.437C20.24 21 19.96 21 19.4 21H15"}));St.displayName="BarChart10";const yt=({size:t=24,color:e="currentColor",...s})=>N.createElement("svg",{viewBox:"0 0 24 24",width:t,height:t,stroke:e,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...s},N.createElement("path",{d:"m12 21-.1-.15c-.695-1.042-1.042-1.563-1.5-1.94a4 4 0 0 0-1.378-.737C8.453 18 7.827 18 6.575 18H5.2c-1.12 0-1.68 0-2.108-.218a2 2 0 0 1-.874-.874C2 16.48 2 15.92 2 14.8V6.2c0-1.12 0-1.68.218-2.108a2 2 0 0 1 .874-.874C3.52 3 4.08 3 5.2 3h.4c2.24 0 3.36 0 4.216.436a4 4 0 0 1 1.748 1.748C12 6.04 12 7.16 12 9.4M12 21V9.4M12 21l.1-.15c.695-1.042 1.042-1.563 1.5-1.94a3.999 3.999 0 0 1 1.378-.737C15.547 18 16.173 18 17.425 18H18.8c1.12 0 1.68 0 2.108-.218a2 2 0 0 0 .874-.874C22 16.48 22 15.92 22 14.8V6.2c0-1.12 0-1.68-.218-2.108a2 2 0 0 0-.874-.874C20.48 3 19.92 3 18.8 3h-.4c-2.24 0-3.36 0-4.216.436a4 4 0 0 0-1.748 1.748C12 6.04 12 7.16 12 9.4"}));yt.displayName="BookOpen01";const Ct=({size:t=24,color:e="currentColor",...s})=>N.createElement("svg",{viewBox:"0 0 24 24",width:t,height:t,stroke:e,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...s},N.createElement("path",{d:"M15 21v-5.4c0-.56 0-.84-.109-1.054a1 1 0 0 0-.437-.437C14.24 14 13.96 14 13.4 14h-2.8c-.56 0-.84 0-1.054.109a1 1 0 0 0-.437.437C9 14.76 9 15.04 9 15.6V21M3 7a3 3 0 0 0 6 0 3 3 0 1 0 6 0 3 3 0 1 0 6 0M6.2 21h11.6c1.12 0 1.68 0 2.108-.218a2 2 0 0 0 .874-.874C21 19.48 21 18.92 21 17.8V6.2c0-1.12 0-1.68-.218-2.108a2 2 0 0 0-.874-.874C19.48 3 18.92 3 17.8 3H6.2c-1.12 0-1.68 0-2.108.218a2 2 0 0 0-.874.874C3 4.52 3 5.08 3 6.2v11.6c0 1.12 0 1.68.218 2.108a2 2 0 0 0 .874.874C4.52 21 5.08 21 6.2 21Z"}));Ct.displayName="Building02";const kt=({size:t=24,color:e="currentColor",...s})=>N.createElement("svg",{viewBox:"0 0 24 24",width:t,height:t,stroke:e,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...s},N.createElement("path",{d:"m18 17-5-5 5-5m-7 10-5-5 5-5"}));kt.displayName="ChevronLeftDouble";const _t=({size:t=24,color:e="currentColor",...s})=>N.createElement("svg",{viewBox:"0 0 24 24",width:t,height:t,stroke:e,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...s},N.createElement("path",{d:"m6 17 5-5-5-5m7 10 5-5-5-5"}));_t.displayName="ChevronRightDouble";const Ge=({size:t=24,color:e="currentColor",...s})=>N.createElement("svg",{viewBox:"0 0 24 24",width:t,height:t,stroke:e,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...s},N.createElement("path",{d:"M11 4.5h7.3c1.12 0 1.68 0 2.108.218a2 2 0 0 1 .874.874c.218.428.218.988.218 2.108V9c0 .932 0 1.398-.152 1.765a2 2 0 0 1-1.083 1.083C19.898 12 19.432 12 18.5 12M13 19.5H5.7c-1.12 0-1.68 0-2.108-.218a2 2 0 0 1-.874-.874C2.5 17.98 2.5 17.42 2.5 16.3V15c0-.932 0-1.398.152-1.765a2 2 0 0 1 1.083-1.083C4.102 12 4.568 12 5.5 12m4.8 2.5h3.4c.28 0 .42 0 .527-.055a.5.5 0 0 0 .218-.218c.055-.107.055-.247.055-.527v-3.4c0-.28 0-.42-.055-.527a.5.5 0 0 0-.218-.218C14.12 9.5 13.98 9.5 13.7 9.5h-3.4c-.28 0-.42 0-.527.055a.5.5 0 0 0-.218.218c-.055.107-.055.247-.055.527v3.4c0 .28 0 .42.055.527a.5.5 0 0 0 .218.218c.107.055.247.055.527.055Zm7.5 7.5h3.4c.28 0 .42 0 .527-.055a.5.5 0 0 0 .218-.218C22 21.62 22 21.48 22 21.2v-3.4c0-.28 0-.42-.055-.527a.5.5 0 0 0-.218-.218C21.62 17 21.48 17 21.2 17h-3.4c-.28 0-.42 0-.527.055a.5.5 0 0 0-.218.218C17 17.38 17 17.52 17 17.8v3.4c0 .28 0 .42.055.527a.5.5 0 0 0 .218.218c.107.055.247.055.527.055ZM2.8 7h3.4c.28 0 .42 0 .527-.054a.5.5 0 0 0 .218-.219C7 6.62 7 6.48 7 6.2V2.8c0-.28 0-.42-.054-.527a.5.5 0 0 0-.219-.219C6.62 2 6.48 2 6.2 2H2.8c-.28 0-.42 0-.527.054a.5.5 0 0 0-.219.219C2 2.38 2 2.52 2 2.8v3.4c0 .28 0 .42.054.527a.5.5 0 0 0 .219.218C2.38 7 2.52 7 2.8 7Z"}));Ge.displayName="Dataflow03";const zt=({size:t=24,color:e="currentColor",...s})=>N.createElement("svg",{viewBox:"0 0 24 24",width:t,height:t,stroke:e,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...s},N.createElement("path",{d:"M8 14s1.5 2 4 2 4-2 4-2m-1-5h.01M9 9h.01M22 12c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10Zm-6.5-3a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm-6 0a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z"}));zt.displayName="FaceSmile";const $t=({size:t=24,color:e="currentColor",...s})=>N.createElement("svg",{viewBox:"0 0 24 24",width:t,height:t,stroke:e,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...s},N.createElement("path",{d:"M2 12h20M2 12c0 5.523 4.477 10 10 10M2 12C2 6.477 6.477 2 12 2m10 10c0 5.523-4.477 10-10 10m10-10c0-5.523-4.477-10-10-10m0 0a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10m0-20a15.3 15.3 0 0 0-4 10 15.3 15.3 0 0 0 4 10"}));$t.displayName="Globe01";const It=({size:t=24,color:e="currentColor",...s})=>N.createElement("svg",{viewBox:"0 0 24 24",width:t,height:t,stroke:e,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...s},N.createElement("path",{d:"M15 3v18M7.8 3h8.4c1.68 0 2.52 0 3.162.327a3 3 0 0 1 1.311 1.311C21 5.28 21 6.12 21 7.8v8.4c0 1.68 0 2.52-.327 3.162a3 3 0 0 1-1.311 1.311C18.72 21 17.88 21 16.2 21H7.8c-1.68 0-2.52 0-3.162-.327a3 3 0 0 1-1.311-1.311C3 18.72 3 17.88 3 16.2V7.8c0-1.68 0-2.52.327-3.162a3 3 0 0 1 1.311-1.311C5.28 3 6.12 3 7.8 3Z"}));It.displayName="LayoutRight";const Ot=({size:t=24,color:e="currentColor",...s})=>N.createElement("svg",{viewBox:"0 0 24 24",width:t,height:t,stroke:e,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...s},N.createElement("path",{d:"m16 17 5-5m0 0-5-5m5 5H9m0-9H7.8c-1.68 0-2.52 0-3.162.327a3 3 0 0 0-1.311 1.311C3 5.28 3 6.12 3 7.8v8.4c0 1.68 0 2.52.327 3.162a3 3 0 0 0 1.311 1.311C5.28 21 6.12 21 7.8 21H9"}));Ot.displayName="LogOut01";const Tt=({size:t=24,color:e="currentColor",...s})=>N.createElement("svg",{viewBox:"0 0 24 24",width:t,height:t,stroke:e,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...s},N.createElement("path",{d:"m16 17 5-5m0 0-5-5m5 5H9m3 5c0 .93 0 1.395-.102 1.776a3 3 0 0 1-2.122 2.122C9.395 21 8.93 21 8 21h-.5c-1.398 0-2.097 0-2.648-.228a3 3 0 0 1-1.624-1.624C3 18.597 3 17.898 3 16.5v-9c0-1.398 0-2.097.228-2.648a3 3 0 0 1 1.624-1.624C5.403 3 6.102 3 7.5 3H8c.93 0 1.395 0 1.776.102a3 3 0 0 1 2.122 2.122C12 5.605 12 6.07 12 7"}));Tt.displayName="LogOut02";const Pt=({size:t=24,color:e="currentColor",...s})=>N.createElement("svg",{viewBox:"0 0 24 24",width:t,height:t,stroke:e,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...s},N.createElement("path",{d:"m2 7 8.165 5.715c.661.463.992.695 1.351.784a2 2 0 0 0 .968 0c.36-.09.69-.32 1.351-.784L22 7M6.8 20h10.4c1.68 0 2.52 0 3.162-.327a3 3 0 0 0 1.311-1.311C22 17.72 22 16.88 22 15.2V8.8c0-1.68 0-2.52-.327-3.162a3 3 0 0 0-1.311-1.311C19.72 4 18.88 4 17.2 4H6.8c-1.68 0-2.52 0-3.162.327a3 3 0 0 0-1.311 1.311C2 6.28 2 7.12 2 8.8v6.4c0 1.68 0 2.52.327 3.162a3 3 0 0 0 1.311 1.311C4.28 20 5.12 20 6.8 20Z"}));Pt.displayName="Mail01";const Mt=({size:t=24,color:e="currentColor",...s})=>N.createElement("svg",{viewBox:"0 0 24 24",width:t,height:t,stroke:e,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...s},N.createElement("path",{d:"M3 8h12m0 0a3 3 0 1 0 6 0 3 3 0 0 0-6 0Zm-6 8h12M9 16a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z"}));Mt.displayName="Settings04";function qs(){const t=w.c(65),{org:e}=ae(),[,s]=He(),{selectedVirtualMcp:r,modelsConnections:o,isChatEmpty:i,activeThreadId:l,createThread:a,switchToThread:c,threads:d}=ps();let m;if(t[0]!==l||t[1]!==d){let V;t[3]!==l?(V=I=>I.id===l,t[3]=l,t[4]=V):V=t[4],m=d.find(V),t[0]=l,t[1]=d,t[2]=m}else m=t[2];const f=m,[u,p]=N.useState(!1),[x,h]=N.useTransition();let b;t[5]!==e.id?(b=hs(e.id),t[5]=e.id,t[6]=b):b=t[6];const j=r??b;let v;t[7]!==a?(v=()=>{h(()=>{a()})},t[7]=a,t[8]=v):v=t[8];const S=v;if(o.length===0){let V;t[9]===Symbol.for("react.memo_cache_sentinel")?(V=n.jsx(Se.Header.Left,{className:"gap-2"}),t[9]=V):V=t[9];let I;t[10]!==s?(I=()=>s(!1),t[10]=s,t[11]=I):I=t[11];let D;t[12]===Symbol.for("react.memo_cache_sentinel")?(D=n.jsx(Le,{size:16,className:"text-muted-foreground group-hover:text-foreground transition-colors"}),t[12]=D):D=t[12];let K;t[13]!==I?(K=n.jsxs(Se.Header,{className:"flex-none",children:[V,n.jsx(Se.Header.Right,{className:"gap-1",children:n.jsx("button",{type:"button",onClick:I,className:"flex size-6 items-center justify-center rounded-full p-1 hover:bg-transparent transition-colors group cursor-pointer",title:"Close chat",children:D})})]}),t[13]=I,t[14]=K):K=t[14];let Y;t[15]!==e?(Y=n.jsx(te.Main,{className:"flex flex-col items-center",children:n.jsx(te.EmptyState,{children:n.jsx(te.NoLlmBindingEmptyState,{title:"No model provider connected",description:"Connect to a model provider to unlock AI-powered features.",org:e})})}),t[15]=e,t[16]=Y):Y=t[16];let J;return t[17]!==K||t[18]!==Y?(J=n.jsxs(te,{children:[K,Y]}),t[17]=K,t[18]=Y,t[19]=J):J=t[19],J}const C=u?"duration-300 opacity-0 -translate-x-4 pointer-events-none":x?"duration-200 opacity-0 pointer-events-none":"duration-300 opacity-100 translate-x-0";let y;t[20]!==C?(y=_("absolute inset-0 flex flex-col transition-all ease-in-out",C),t[20]=C,t[21]=y):y=t[21];let z;t[22]!==f||t[23]!==i?(z=!i&&f?.title&&n.jsx(xs,{text:f.title,className:"text-sm font-medium text-foreground"}),t[22]=f,t[23]=i,t[24]=z):z=t[24];let O;t[25]!==z?(O=n.jsx(Se.Header.Left,{className:"gap-2",children:z}),t[25]=z,t[26]=O):O=t[26];let $;t[27]===Symbol.for("react.memo_cache_sentinel")?($=n.jsx(ft,{size:16,className:"text-muted-foreground group-hover:text-foreground transition-colors"}),t[27]=$):$=t[27];let k;t[28]!==S||t[29]!==x?(k=n.jsx("button",{type:"button",onClick:S,disabled:x,className:"flex size-6 items-center justify-center rounded-full p-1 hover:bg-transparent group cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed",title:"New chat",children:$}),t[28]=S,t[29]=x,t[30]=k):k=t[30];let T;t[31]===Symbol.for("react.memo_cache_sentinel")?(T=()=>p(!0),t[31]=T):T=t[31];let M;t[32]===Symbol.for("react.memo_cache_sentinel")?(M=n.jsx("button",{type:"button",onClick:T,className:"flex size-6 items-center justify-center rounded-full p-1 hover:bg-transparent group cursor-pointer",title:"Chat history",children:n.jsx(gs,{size:16,className:"text-muted-foreground group-hover:text-foreground transition-colors"})}),t[32]=M):M=t[32];let E;t[33]!==s?(E=()=>s(!1),t[33]=s,t[34]=E):E=t[34];let H;t[35]===Symbol.for("react.memo_cache_sentinel")?(H=n.jsx(Le,{size:16,className:"text-muted-foreground group-hover:text-foreground transition-colors"}),t[35]=H):H=t[35];let L;t[36]!==E?(L=n.jsx("button",{type:"button",onClick:E,className:"flex size-6 items-center justify-center rounded-full p-1 hover:bg-transparent transition-colors group cursor-pointer",title:"Close chat",children:H}),t[36]=E,t[37]=L):L=t[37];let P;t[38]!==L||t[39]!==k?(P=n.jsxs(Se.Header.Right,{className:"gap-1",children:[k,M,L]}),t[38]=L,t[39]=k,t[40]=P):P=t[40];let A;t[41]!==P||t[42]!==O?(A=n.jsxs(Se.Header,{className:"flex-none",children:[O,P]}),t[41]=P,t[42]=O,t[43]=A):A=t[43];let R;t[44]!==j||t[45]!==i?(R=n.jsx(te.Main,{children:i?n.jsx(te.EmptyState,{children:n.jsxs("div",{className:"flex flex-col items-center gap-6 w-full px-4",children:[n.jsxs("div",{className:"flex flex-col items-center justify-center gap-4 p-0 text-center",children:[n.jsx(fs,{icon:j.icon,name:j.title,size:"lg",fallbackIcon:n.jsx(ut,{size:32}),className:"size-[60px]! rounded-[18px]!"}),n.jsx("h3",{className:"text-xl font-medium text-foreground",children:j.title}),n.jsx("div",{className:"text-muted-foreground text-center text-sm max-w-md",children:j.description??"Ask anything about configuring model providers or using MCP Mesh."})]}),n.jsx(te.IceBreakers,{})]})}):n.jsx(te.Messages,{})}),t[44]=j,t[45]=i,t[46]=R):R=t[46];let W;t[47]===Symbol.for("react.memo_cache_sentinel")?(W=n.jsx(te.Footer,{children:n.jsx(te.Input,{})}),t[47]=W):W=t[47];let U;t[48]!==A||t[49]!==R||t[50]!==y?(U=n.jsxs("div",{className:y,children:[A,R,W]}),t[48]=A,t[49]=R,t[50]=y,t[51]=U):U=t[51];const B=u?"opacity-100 translate-x-0":"opacity-0 translate-x-4 pointer-events-none";let F;t[52]!==B?(F=_("absolute inset-0 flex flex-col transition-all duration-300 ease-in-out",B),t[52]=B,t[53]=F):F=t[53];let G;t[54]===Symbol.for("react.memo_cache_sentinel")?(G=()=>p(!1),t[54]=G):G=t[54];let Z;t[55]!==l||t[56]!==c||t[57]!==d?(Z=n.jsx(bs,{threads:d,activeThreadId:l,onThreadSelect:c,onClose:G}),t[55]=l,t[56]=c,t[57]=d,t[58]=Z):Z=t[58];let se;t[59]!==F||t[60]!==Z?(se=n.jsx("div",{className:F,children:Z}),t[59]=F,t[60]=Z,t[61]=se):se=t[61];let q;return t[62]!==U||t[63]!==se?(q=n.jsxs(te,{className:"relative overflow-hidden",children:[U,se]}),t[62]=U,t[63]=se,t[64]=q):q=t[64],q}function Js(){const t=w.c(2);let e;t[0]===Symbol.for("react.memo_cache_sentinel")?(e=n.jsx(te.Skeleton,{}),t[0]=e):e=t[0];let s;return t[1]===Symbol.for("react.memo_cache_sentinel")?(s=n.jsx(pt,{fallback:e,children:n.jsx(N.Suspense,{fallback:n.jsx(te.Skeleton,{}),children:n.jsx(qs,{})})}),t[1]=s):s=t[1],s}const Xs=!1;function Qs(){const t=w.c(33),{locator:e,org:s}=ae(),r=ke(),o=Re(),{org:i,project:l}=ye.parse(e),a=ye.isOrgAdminProject(e),{data:c}=_s(s.id,l);let d;t[0]!==c?.enabledPlugins?(d=c?.enabledPlugins??[],t[0]=c?.enabledPlugins,t[1]=d):d=t[1];const m=d;let f;t[2]!==m?(f=I=>m.includes(I.pluginId),t[2]=m,t[3]=f):f=t[3];const u=qt.filter(f),p=o.location.pathname===`/${i}/${l}`||o.location.pathname===`/${i}/${l}/`;let x;t[4]===Symbol.for("react.memo_cache_sentinel")?(x=n.jsx(ks,{}),t[4]=x):x=t[4];const h={key:"home",label:"Home",icon:x,onClick:()=>{p?window.dispatchEvent(new CustomEvent("reset-home-view")):r({to:"/$org/$project",params:{org:i,project:l}})}};let b;t[5]===Symbol.for("react.memo_cache_sentinel")?(b=n.jsx(Cs,{}),t[5]=b):b=t[5];const g={key:"tasks",label:"Tasks",icon:b,onClick:()=>r({to:"/$org/$project/tasks",params:{org:i,project:ne}})};let j;t[6]===Symbol.for("react.memo_cache_sentinel")?(j=n.jsx(us,{}),t[6]=j):j=t[6];const v={key:"mcps",label:"Connections",icon:j,onClick:()=>r({to:"/$org/$project/mcps",params:{org:i,project:ne}})};let S;t[7]===Symbol.for("react.memo_cache_sentinel")?(S=n.jsx(Xt,{}),t[7]=S):S=t[7];let C;t[8]===Symbol.for("react.memo_cache_sentinel")?(C=n.jsx(Ct,{}),t[8]=C):C=t[8];const y={key:"store",label:"Store",icon:C,onClick:()=>r({to:"/$org/$project/store",params:{org:i,project:ne}})};let z;t[9]===Symbol.for("react.memo_cache_sentinel")?(z=n.jsx(ut,{}),t[9]=z):z=t[9];const O={key:"agents",label:"Agents",icon:z,onClick:()=>r({to:"/$org/$project/agents",params:{org:i,project:ne}})};let $;t[10]===Symbol.for("react.memo_cache_sentinel")?($=n.jsx(St,{}),t[10]=$):$=t[10];const k={key:"monitoring",label:"Monitor",icon:$,onClick:()=>r({to:"/$org/$project/monitoring",params:{org:i,project:ne}})};let T;t[11]===Symbol.for("react.memo_cache_sentinel")?(T=n.jsx(Ge,{}),t[11]=T):T=t[11];const M={key:"workflows",label:"Workflows",icon:T,onClick:()=>r({to:"/$org/$project/workflows",params:{org:i,project:ne}})};let E;t[12]===Symbol.for("react.memo_cache_sentinel")?(E=n.jsx(zt,{}),t[12]=E):E=t[12];const L=[g,v,M,y,O,k,{key:"members",label:"Members",icon:E,onClick:()=>r({to:"/$org/$project/members",params:{org:i,project:ne}})}],P=u.map(I=>({key:I.pluginId,label:I.label,icon:I.icon,onClick:()=>r({to:"/$org/$project/$pluginId",params:{org:i,project:l,pluginId:I.pluginId}})}));let A;t[13]!==m?(A=I=>m.includes(I.pluginId),t[13]=m,t[14]=A):A=t[14];const W=Jt.filter(A).map(I=>({type:"group",group:{id:`${I.pluginId}-${I.id}`,label:I.label,items:I.items.map((D,K)=>({key:`${I.pluginId}-${I.id}-${K}`,label:D.label,icon:D.icon,onClick:()=>r({to:"/$org/$project/$pluginId",params:{org:i,project:l,pluginId:I.pluginId}})})),defaultExpanded:I.defaultExpanded??!0}}));if(a){const I=[{type:"items",items:[h,...L]}];if(P.length>0){let D;t[15]===Symbol.for("react.memo_cache_sentinel")?(D={type:"divider"},t[15]=D):D=t[15],I.push(D);let K;t[16]!==P?(K={type:"items",items:P},t[16]=P,t[17]=K):K=t[17],I.push(K)}if(W.length>0){if(P.length===0){let D;t[18]===Symbol.for("react.memo_cache_sentinel")?(D={type:"divider"},t[18]=D):D=t[18],I.push(D)}I.push(...W)}return I}let U;t[19]===Symbol.for("react.memo_cache_sentinel")?(U=n.jsx(ds,{}),t[19]=U):U=t[19];let B;t[20]!==r||t[21]!==i||t[22]!==l?(B={key:"tasks",label:"Tasks",icon:U,onClick:()=>r({to:"/$org/$project/tasks",params:{org:i,project:l}})},t[20]=r,t[21]=i,t[22]=l,t[23]=B):B=t[23];const F=B;let G;t[24]===Symbol.for("react.memo_cache_sentinel")?(G=n.jsx(Ge,{}),t[24]=G):G=t[24];let Z;t[25]!==r||t[26]!==i||t[27]!==l?(Z={key:"workflows",label:"Workflows",icon:G,onClick:()=>r({to:"/$org/$project/workflows",params:{org:i,project:l}})},t[25]=r,t[26]=i,t[27]=l,t[28]=Z):Z=t[28];const V=[{type:"items",items:[h,F,Z]}];if(P.length>0){let I;t[29]===Symbol.for("react.memo_cache_sentinel")?(I={type:"divider"},t[29]=I):I=t[29],V.push(I);let D;t[30]!==P?(D={type:"items",items:P},t[30]=P,t[31]=D):D=t[31],V.push(D)}if(W.length>0){if(P.length===0){let I;t[32]===Symbol.for("react.memo_cache_sentinel")?(I={type:"divider"},t[32]=I):I=t[32],V.push(I)}V.push(...W)}return V}const en="sidebar_state",tn=3600*24*7,sn="16rem",nn="18rem",rn="3rem",on="b",Et=N.createContext(null);function Ue(){const t=N.useContext(Et);if(!t)throw new Error("useSidebar must be used within a SidebarProvider.");return t}function ln(t){const e=w.c(21),{defaultOpen:s,open:r,onOpenChange:o,children:i}=t,l=s===void 0?!0:s,a=$e(),[c,d]=N.useState(!1),[m,f]=N.useState(l),u=r??m;let p;e[0]!==u||e[1]!==o?(p=O=>{const $=typeof O=="function"?O(u):O;o?o($):f($),document.cookie=`${en}=${$}; path=/; max-age=${tn}`},e[0]=u,e[1]=o,e[2]=p):p=e[2];const x=p;let h;e[3]!==a||e[4]!==x?(h=()=>a?d(cn):x(an),e[3]=a,e[4]=x,e[5]=h):h=e[5];const b=h;let g,j;e[6]!==b?(g=()=>{const O=$=>{if($.key===on&&($.metaKey||$.ctrlKey)){const k=$.target;if(k.tagName==="INPUT"||k.tagName==="TEXTAREA"||k.isContentEditable)return;$.preventDefault(),b()}};return globalThis.addEventListener("keydown",O),()=>globalThis.removeEventListener("keydown",O)},j=[b],e[6]=b,e[7]=g,e[8]=j):(g=e[7],j=e[8]),N.useEffect(g,j);const v=u?"expanded":"collapsed";let S;e[9]!==a||e[10]!==u||e[11]!==c||e[12]!==x||e[13]!==v||e[14]!==b?(S={state:v,open:u,setOpen:x,isMobile:a,openMobile:c,setOpenMobile:d,toggleSidebar:b},e[9]=a,e[10]=u,e[11]=c,e[12]=x,e[13]=v,e[14]=b,e[15]=S):S=e[15];const C=S;let y;e[16]!==i?(y=n.jsx(ct,{delayDuration:0,children:i}),e[16]=i,e[17]=y):y=e[17];let z;return e[18]!==C||e[19]!==y?(z=n.jsx(Et.Provider,{value:C,children:y}),e[18]=C,e[19]=y,e[20]=z):z=e[20],z}function an(t){return!t}function cn(t){return!t}function dn(t){const e=w.c(14);let s,r,o,i;e[0]!==t?({className:r,style:i,children:s,...o}=t,e[0]=t,e[1]=s,e[2]=r,e[3]=o,e[4]=i):(s=e[1],r=e[2],o=e[3],i=e[4]);let l;e[5]!==i?(l={"--sidebar-width":sn,"--sidebar-width-icon":rn,...i},e[5]=i,e[6]=l):l=e[6];const a=l;let c;e[7]!==r?(c=_("group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex h-full w-full",r),e[7]=r,e[8]=c):c=e[8];let d;return e[9]!==s||e[10]!==o||e[11]!==a||e[12]!==c?(d=n.jsx("div",{"data-slot":"sidebar-wrapper",style:a,className:c,...o,children:s}),e[9]=s,e[10]=o,e[11]=a,e[12]=c,e[13]=d):d=e[13],d}function mn(t){const e=w.c(46);let s,r,o,i,l,a;e[0]!==t?({side:i,variant:l,collapsible:a,className:r,children:s,...o}=t,e[0]=t,e[1]=s,e[2]=r,e[3]=o,e[4]=i,e[5]=l,e[6]=a):(s=e[1],r=e[2],o=e[3],i=e[4],l=e[5],a=e[6]);const c=i===void 0?"left":i,d=l===void 0?"sidebar":l,m=a===void 0?"offcanvas":a,{isMobile:f,state:u,openMobile:p,setOpenMobile:x}=Ue();if(m==="none"){let $;e[7]!==r?($=_("bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col",r),e[7]=r,e[8]=$):$=e[8];let k;return e[9]!==s||e[10]!==o||e[11]!==$?(k=n.jsx("div",{"data-slot":"sidebar",className:$,...o,children:s}),e[9]=s,e[10]=o,e[11]=$,e[12]=k):k=e[12],k}if(f){let $;e[13]===Symbol.for("react.memo_cache_sentinel")?($={"--sidebar-width":nn},e[13]=$):$=e[13];let k;e[14]===Symbol.for("react.memo_cache_sentinel")?(k=n.jsxs(vs,{className:"sr-only",children:[n.jsx(ws,{children:"Sidebar"}),n.jsx(Ns,{children:"Displays the mobile sidebar."})]}),e[14]=k):k=e[14];let T;e[15]!==s?(T=n.jsx("div",{className:"flex h-full w-full flex-col",children:s}),e[15]=s,e[16]=T):T=e[16];let M;e[17]!==c||e[18]!==T?(M=n.jsxs(Ss,{"data-sidebar":"sidebar","data-slot":"sidebar","data-mobile":"true",className:"bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden",style:$,side:c,children:[k,T]}),e[17]=c,e[18]=T,e[19]=M):M=e[19];let E;return e[20]!==p||e[21]!==o||e[22]!==x||e[23]!==M?(E=n.jsx(js,{open:p,onOpenChange:x,...o,children:M}),e[20]=p,e[21]=o,e[22]=x,e[23]=M,e[24]=E):E=e[24],E}const h=u==="collapsed"?m:"",b=d==="floating"||d==="inset"?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon)";let g;e[25]!==b?(g=_("relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180",b),e[25]=b,e[26]=g):g=e[26];let j;e[27]!==g?(j=n.jsx("div",{"data-slot":"sidebar-gap",className:g}),e[27]=g,e[28]=j):j=e[28];const v=c==="left"?"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",S=d==="floating"||d==="inset"?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon)";let C;e[29]!==r||e[30]!==v||e[31]!==S?(C=_("fixed top-12 bottom-0 z-10 hidden w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex",v,S,r),e[29]=r,e[30]=v,e[31]=S,e[32]=C):C=e[32];let y;e[33]!==s?(y=n.jsx("div",{"data-sidebar":"sidebar","data-slot":"sidebar-inner",className:"bg-sidebar group-data-[variant=floating]:border-sidebar-border pt-2 flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm",children:s}),e[33]=s,e[34]=y):y=e[34];let z;e[35]!==o||e[36]!==C||e[37]!==y?(z=n.jsx("div",{"data-slot":"sidebar-container",className:C,...o,children:y}),e[35]=o,e[36]=C,e[37]=y,e[38]=z):z=e[38];let O;return e[39]!==c||e[40]!==u||e[41]!==z||e[42]!==h||e[43]!==j||e[44]!==d?(O=n.jsxs("div",{className:"group peer text-foreground hidden md:block","data-state":u,"data-collapsible":h,"data-variant":d,"data-side":c,"data-slot":"sidebar",children:[j,z]}),e[39]=c,e[40]=u,e[41]=z,e[42]=h,e[43]=j,e[44]=d,e[45]=O):O=e[45],O}function fn(t){const e=w.c(8);let s,r;e[0]!==t?({className:s,...r}=t,e[0]=t,e[1]=s,e[2]=r):(s=e[1],r=e[2]);let o;e[3]!==s?(o=_("bg-background relative flex w-full flex-1 flex-col min-w-0","md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2",s),e[3]=s,e[4]=o):o=e[4];let i;return e[5]!==r||e[6]!==o?(i=n.jsx("main",{"data-slot":"sidebar-inset",className:o,...r}),e[5]=r,e[6]=o,e[7]=i):i=e[7],i}function At(t){const e=w.c(8);let s,r;e[0]!==t?({className:s,...r}=t,e[0]=t,e[1]=s,e[2]=r):(s=e[1],r=e[2]);let o;e[3]!==s?(o=_("flex flex-col gap-2 p-2",s),e[3]=s,e[4]=o):o=e[4];let i;return e[5]!==r||e[6]!==o?(i=n.jsx("div",{"data-slot":"sidebar-header","data-sidebar":"header",className:o,...r}),e[5]=r,e[6]=o,e[7]=i):i=e[7],i}function un(t){const e=w.c(8);let s,r;e[0]!==t?({className:s,...r}=t,e[0]=t,e[1]=s,e[2]=r):(s=e[1],r=e[2]);let o;e[3]!==s?(o=_("flex flex-col gap-2 px-2 items-start justify-start",s),e[3]=s,e[4]=o):o=e[4];let i;return e[5]!==r||e[6]!==o?(i=n.jsx("div",{"data-slot":"sidebar-footer","data-sidebar":"footer",className:o,...r}),e[5]=r,e[6]=o,e[7]=i):i=e[7],i}function Lt(t){const e=w.c(8);let s,r;e[0]!==t?({className:s,...r}=t,e[0]=t,e[1]=s,e[2]=r):(s=e[1],r=e[2]);let o;e[3]!==s?(o=_("h-4 m-0! w-full",s),e[3]=s,e[4]=o):o=e[4];let i;return e[5]!==r||e[6]!==o?(i=n.jsx("div",{"data-sidebar":"separator",className:o,...r}),e[5]=r,e[6]=o,e[7]=i):i=e[7],i}function pn(t){const e=w.c(8);let s,r;e[0]!==t?({className:s,...r}=t,e[0]=t,e[1]=s,e[2]=r):(s=e[1],r=e[2]);let o;e[3]!==s?(o=_("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",s),e[3]=s,e[4]=o):o=e[4];let i;return e[5]!==r||e[6]!==o?(i=n.jsx("div",{"data-slot":"sidebar-content","data-sidebar":"content",className:o,...r}),e[5]=r,e[6]=o,e[7]=i):i=e[7],i}function Dt(t){const e=w.c(8);let s,r;e[0]!==t?({className:s,...r}=t,e[0]=t,e[1]=s,e[2]=r):(s=e[1],r=e[2]);let o;e[3]!==s?(o=_("relative flex w-full min-w-0 flex-col px-2 py-2 md:py-0",s),e[3]=s,e[4]=o):o=e[4];let i;return e[5]!==r||e[6]!==o?(i=n.jsx("div",{"data-slot":"sidebar-group","data-sidebar":"group",className:o,...r}),e[5]=r,e[6]=o,e[7]=i):i=e[7],i}function Rt(t){const e=w.c(8);let s,r;e[0]!==t?({className:s,...r}=t,e[0]=t,e[1]=s,e[2]=r):(s=e[1],r=e[2]);let o;e[3]!==s?(o=_("w-full text-sm",s),e[3]=s,e[4]=o):o=e[4];let i;return e[5]!==r||e[6]!==o?(i=n.jsx("div",{"data-slot":"sidebar-group-content","data-sidebar":"group-content",className:o,...r}),e[5]=r,e[6]=o,e[7]=i):i=e[7],i}function Ce(t){const e=w.c(8);let s,r;e[0]!==t?({className:s,...r}=t,e[0]=t,e[1]=s,e[2]=r):(s=e[1],r=e[2]);let o;e[3]!==s?(o=_("flex w-full min-w-0 flex-col gap-1",s),e[3]=s,e[4]=o):o=e[4];let i;return e[5]!==r||e[6]!==o?(i=n.jsx("ul",{"data-slot":"sidebar-menu","data-sidebar":"menu",className:o,...r}),e[5]=r,e[6]=o,e[7]=i):i=e[7],i}function me(t){const e=w.c(8);let s,r;e[0]!==t?({className:s,...r}=t,e[0]=t,e[1]=s,e[2]=r):(s=e[1],r=e[2]);let o;e[3]!==s?(o=_("group/menu-item relative",s),e[3]=s,e[4]=o):o=e[4];let i;return e[5]!==r||e[6]!==o?(i=n.jsx("li",{"data-slot":"sidebar-menu-item","data-sidebar":"menu-item",className:o,...r}),e[5]=r,e[6]=o,e[7]=i):i=e[7],i}const hn=es("peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-lg px-2 py-1.5 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding,colors] transition-colors duration-150 ease-out hover:transition-none focus-visible:ring-2 active:bg-sidebar-accent/75 disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent/75 [&>span:last-child]:truncate [&>svg]:size-[18px] [&>svg]:shrink-0 [&>svg]:text-muted-foreground",{variants:{variant:{default:"hover:bg-sidebar-accent text-sidebar-foreground/80 active:text-sidebar-foreground",outline:"bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{default:"h-7 text-sm font-[450]",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:p-0!"}},defaultVariants:{variant:"default",size:"default"}});function Be(t){const e=w.c(28);let s,r,o,i,l,a,c;e[0]!==t?({asChild:o,isActive:i,variant:l,size:a,tooltip:c,className:s,...r}=t,e[0]=t,e[1]=s,e[2]=r,e[3]=o,e[4]=i,e[5]=l,e[6]=a,e[7]=c):(s=e[1],r=e[2],o=e[3],i=e[4],l=e[5],a=e[6],c=e[7]);const d=o===void 0?!1:o,m=i===void 0?!1:i,f=l===void 0?"default":l,u=a===void 0?"default":a,p=d?Qt:"button",{isMobile:x,state:h}=Ue();let b;e[8]!==s||e[9]!==u||e[10]!==f?(b=_(hn({variant:f,size:u}),s),e[8]=s,e[9]=u,e[10]=f,e[11]=b):b=e[11];let g;e[12]!==p||e[13]!==m||e[14]!==r||e[15]!==u||e[16]!==b?(g=n.jsx(p,{"data-slot":"sidebar-menu-button","data-sidebar":"menu-button","data-size":u,"data-active":m,className:b,...r}),e[12]=p,e[13]=m,e[14]=r,e[15]=u,e[16]=b,e[17]=g):g=e[17];const j=g;if(!c)return j;if(typeof c=="string"){let z;e[18]!==c?(z={children:c},e[18]=c,e[19]=z):z=e[19],c=z}let v;e[20]!==j?(v=n.jsx(Ee,{asChild:!0,children:j}),e[20]=j,e[21]=v):v=e[21];const S=h!=="collapsed"||x;let C;e[22]!==S||e[23]!==c?(C=n.jsx(Me,{side:"right",align:"center",hidden:S,...c}),e[22]=S,e[23]=c,e[24]=C):C=e[24];let y;return e[25]!==v||e[26]!==C?(y=n.jsxs(Ae,{children:[v,C]}),e[25]=v,e[26]=C,e[27]=y):y=e[27],y}function xn(t){const e=w.c(18),{label:s,children:r,defaultExpanded:o}=t,i=o===void 0?!0:o,[l,a]=N.useState(i);let c;e[0]!==l?(c=()=>a(!l),e[0]=l,e[1]=c):c=e[1];let d;e[2]!==s?(d=n.jsx("span",{className:"text-xs font-medium text-muted-foreground",children:s}),e[2]=s,e[3]=d):d=e[3];const m=!l&&"-rotate-90";let f;e[4]!==m?(f=_("text-muted-foreground transition-transform duration-200",m),e[4]=m,e[5]=f):f=e[5];let u;e[6]!==f?(u=n.jsx(ht,{size:12,className:f}),e[6]=f,e[7]=u):u=e[7];let p;e[8]!==c||e[9]!==d||e[10]!==u?(p=n.jsx(Ce,{children:n.jsx(me,{children:n.jsxs(Be,{className:"h-6 cursor-pointer select-none",onClick:c,children:[d,u]})})}),e[8]=c,e[9]=d,e[10]=u,e[11]=p):p=e[11];let x;e[12]!==r||e[13]!==l?(x=l&&n.jsx(Rt,{children:n.jsx(Ce,{className:"gap-0.5",children:r})}),e[12]=r,e[13]=l,e[14]=x):x=e[14];let h;return e[15]!==p||e[16]!==x?(h=n.jsxs(Dt,{className:"py-0",children:[p,x]}),e[15]=p,e[16]=x,e[17]=h):h=e[17],h}function Ht(t){const e=w.c(13),{item:s}=t;let r;e[0]!==s.icon?(r=n.jsx("span",{className:"text-muted-foreground group-hover/nav-item:text-foreground transition-colors [&>svg]:size-4",children:s.icon}),e[0]=s.icon,e[1]=r):r=e[1];let o;e[2]!==s.label?(o=n.jsx("span",{className:"truncate",children:s.label}),e[2]=s.label,e[3]=o):o=e[3];let i;e[4]!==s.isActive||e[5]!==s.label||e[6]!==s.onClick||e[7]!==r||e[8]!==o?(i=n.jsxs(Be,{className:"group/nav-item cursor-pointer text-foreground/90 hover:text-foreground",onClick:s.onClick,isActive:s.isActive,tooltip:s.label,children:[r,o]}),e[4]=s.isActive,e[5]=s.label,e[6]=s.onClick,e[7]=r,e[8]=o,e[9]=i):i=e[9];let l;return e[10]!==s.key||e[11]!==i?(l=n.jsx(me,{children:i},s.key),e[10]=s.key,e[11]=i,e[12]=l):l=e[12],l}function gn(t){const e=w.c(12),{section:s}=t;switch(s.type){case"divider":{let r;return e[0]===Symbol.for("react.memo_cache_sentinel")?(r=n.jsx(Lt,{className:"my-2"}),e[0]=r):r=e[0],r}case"spacer":{let r;return e[1]===Symbol.for("react.memo_cache_sentinel")?(r=n.jsx("div",{className:"flex-1"}),e[1]=r):r=e[1],r}case"group":{const r=s.group.label,o=s.group.defaultExpanded;let i;e[2]!==s.group.items?(i=s.group.items.map(jn),e[2]=s.group.items,e[3]=i):i=e[3];let l;return e[4]!==s.group.defaultExpanded||e[5]!==s.group.label||e[6]!==i?(l=n.jsx(xn,{label:r,defaultExpanded:o,children:i}),e[4]=s.group.defaultExpanded,e[5]=s.group.label,e[6]=i,e[7]=l):l=e[7],l}case"items":{let r;e[8]!==s.items?(r=s.items.map(bn),e[8]=s.items,e[9]=r):r=e[9];let o;return e[10]!==r?(o=n.jsx(Dt,{className:"py-0",children:n.jsx(Rt,{children:n.jsx(Ce,{className:"gap-0.5",children:r})})}),e[10]=r,e[11]=o):o=e[11],o}}}function bn(t){return n.jsx(Ht,{item:t},t.key)}function jn(t){return n.jsx(Ht,{item:t},t.key)}function Ut(t){const e=w.c(14),{sections:s,header:r,footer:o,additionalContent:i,variant:l,collapsible:a,contentClassName:c}=t,d=l===void 0?"sidebar":l,m=a===void 0?"icon":a;let f;e[0]!==c?(f=_("flex flex-col flex-1 overflow-x-hidden font-medium border-r pb-2",c),e[0]=c,e[1]=f):f=e[1];let u;e[2]!==s?(u=s.map(vn),e[2]=s,e[3]=u):u=e[3];let p;e[4]!==i||e[5]!==f||e[6]!==u?(p=n.jsxs(pn,{className:f,children:[u,i]}),e[4]=i,e[5]=f,e[6]=u,e[7]=p):p=e[7];let x;return e[8]!==m||e[9]!==o||e[10]!==r||e[11]!==p||e[12]!==d?(x=n.jsxs(mn,{variant:d,collapsible:m,children:[r,p,o]}),e[8]=m,e[9]=o,e[10]=r,e[11]=p,e[12]=d,e[13]=x):x=e[13],x}function vn(t,e){return n.jsx(gn,{section:t},e)}Ut.Skeleton=function(){return n.jsx("div",{className:"flex flex-col gap-0.5",children:Array.from({length:8}).map((e,s)=>n.jsx("div",{className:"w-full h-8",children:n.jsx(de,{className:"h-full bg-sidebar-accent rounded-md"})},s))})};const wn="w-full h-8 justify-start gap-2 px-2 text-sm font-[450] text-sidebar-foreground hover:text-sidebar-foreground hover:bg-sidebar-accent active:bg-sidebar-accent/75 [&>svg]:size-[18px] [&>svg]:text-muted-foreground hover:[&>svg]:text-sidebar-foreground";function ze(t){const e=w.c(8);let s,r;e[0]!==t?({className:s,...r}=t,e[0]=t,e[1]=s,e[2]=r):(s=e[1],r=e[2]);let o;e[3]!==s?(o=_(wn,s),e[3]=s,e[4]=o):o=e[4];let i;return e[5]!==r||e[6]!==o?(i=n.jsx(X,{variant:"ghost",size:"sm",className:o,...r}),e[5]=r,e[6]=o,e[7]=i):i=e[7],i}function Nn({invitation:t,onStatusChange:e}){const[s,r]=N.useState(!1),[o,i]=N.useState(!1),l=ke(),a=async()=>{r(!0);try{const p=await re.organization.acceptInvitation({invitationId:t.id});if(p.error)ie.error(p.error.message),r(!1);else{e(t.id,"accepted");const x=await re.organization.setActive({organizationId:t.organizationId});x?.data?.slug?(ie.success("Invitation accepted!"),l({to:"/$org",params:{org:x.data.slug}})):(ie.success("Invitation accepted! Redirecting..."),l({to:"/"}))}}catch{ie.error("Failed to accept invitation"),r(!1)}},c=async()=>{i(!0);try{const p=await re.organization.rejectInvitation({invitationId:t.id});p.error?(ie.error(p.error.message),i(!1)):(ie.success("Invitation rejected"),e(t.id,"rejected"),i(!1))}catch{ie.error("Failed to reject invitation"),i(!1)}},d=t.organizationName||t.organizationId,m=t.status==="pending",f=t.status==="accepted",u=t.status==="rejected";return n.jsxs("div",{className:_("flex items-center gap-3 px-3 py-2 h-12 border-b border-border/50 last:border-b-0",!m&&"opacity-50"),children:[n.jsx("div",{className:"shrink-0 size-5 flex items-center justify-center",children:n.jsx(Pt,{size:16,className:"text-muted-foreground"})}),n.jsxs("p",{className:"flex-1 text-sm text-foreground min-w-0 whitespace-nowrap overflow-hidden",children:["You have been invited to ",n.jsx("span",{className:"font-semibold inline-block max-w-[200px] truncate align-bottom",children:d})]}),n.jsx("div",{className:"flex items-center gap-1 shrink-0",children:m?n.jsxs(n.Fragment,{children:[n.jsx(X,{variant:"ghost",size:"icon",onClick:c,disabled:s||o,className:"h-8 w-8",children:n.jsx(tt,{size:14})}),n.jsx(X,{variant:"outline",size:"icon",onClick:a,disabled:s||o,className:"h-8 w-8",children:n.jsx(De,{size:14})})]}):f?n.jsxs(et,{variant:"outline",className:"h-6 px-2 text-xs",children:[n.jsx(De,{size:12}),"Accepted"]}):u?n.jsxs(et,{variant:"outline",className:"h-6 px-2 text-xs",children:[n.jsx(tt,{size:12}),"Declined"]}):null})]})}function Sn(){const[t,e]=N.useState(!1),s=N.useContext(ts),{data:r}=s.hooks.useListUserInvitations(),{data:o}=re.useListOrganizations(),[i,l]=N.useState({}),m=(r??[]).filter(h=>new Date(h.expiresAt)>new Date).map(h=>{const b=(o??[]).find(g=>g.id===h.organizationId);return{...h,organizationSlug:b?.slug||h.organizationSlug,organizationName:b?.name||h.organizationName}}).map(h=>({...h,status:i[h.id]||h.status})),f=[...m].sort((h,b)=>{const g={pending:0,accepted:1,rejected:2};return(g[h.status]??999)-(g[b.status]??999)}),p=m.filter(h=>h.status==="pending").length>0,x=(h,b)=>{l(g=>({...g,[h]:b}))};return n.jsxs(qe,{open:t,onOpenChange:e,children:[n.jsx(Je,{asChild:!0,children:n.jsxs(ze,{children:[n.jsx(Qe,{size:18}),"Inbox",p&&n.jsx("span",{className:"ml-auto h-2 w-2 rounded-full bg-destructive"})]})}),n.jsxs(Xe,{side:"right",align:"start",className:"w-[400px] p-0 overflow-hidden",children:[n.jsx("div",{className:"px-4 py-3 border-b border-border",children:n.jsx("h3",{className:"text-sm font-semibold text-foreground",children:"Inbox"})}),n.jsx("div",{className:"max-h-96 overflow-auto",children:f.length>0?f.map(h=>n.jsx(Nn,{invitation:h,onStatusChange:x},h.id)):n.jsxs("div",{className:"flex flex-col items-center justify-center py-8 text-center",children:[n.jsx(Qe,{size:32,className:"text-muted-foreground/40 mb-2"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"No invitations at the moment"})]})})]})]})}function yn(t){const e=w.c(28),{user:s,userImage:r,onOpenSettings:o}=t;let i;e[0]!==s?(i=async()=>{if(!s)return;const y=`ID: ${s.id}
2
- Name: ${s.name||"N/A"}
3
- Email: ${s.email}`;try{await navigator.clipboard.writeText(y),ie.success("User info copied to clipboard")}catch{ie.error("Failed to copy user info to clipboard")}},e[0]=s,e[1]=i):i=e[1];const l=i,a=s.name||s.email||"U";let c;e[2]!==a||e[3]!==r?(c=n.jsx(le,{url:r,fallback:a,shape:"circle",size:"sm",className:"size-8 shrink-0"}),e[2]=a,e[3]=r,e[4]=c):c=e[4];const d=s.name||"User";let m;e[5]!==d?(m=n.jsx("span",{className:"text-sm text-sidebar-foreground truncate font-[450]",children:d}),e[5]=d,e[6]=m):m=e[6];let f;e[7]!==s.email?(f=n.jsx("span",{className:"text-xs text-muted-foreground truncate font-normal",children:s.email}),e[7]=s.email,e[8]=f):f=e[8];let u;e[9]!==m||e[10]!==f?(u=n.jsxs("div",{className:"flex flex-col min-w-0 text-left",children:[m,f]}),e[9]=m,e[10]=f,e[11]=u):u=e[11];let p;e[12]!==l||e[13]!==c||e[14]!==u?(p=n.jsxs(X,{variant:"ghost",onClick:l,className:"h-auto p-2 m-1 mb-0 justify-start gap-2 hover:bg-sidebar-accent hover:text-inherit active:bg-sidebar-accent/75",children:[c,u]}),e[12]=l,e[13]=c,e[14]=u,e[15]=p):p=e[15];let x;e[16]===Symbol.for("react.memo_cache_sentinel")?(x=n.jsx(Sn,{}),e[16]=x):x=e[16];let h;e[17]===Symbol.for("react.memo_cache_sentinel")?(h=n.jsx(Mt,{size:18}),e[17]=h):h=e[17];let b;e[18]!==o?(b=n.jsxs(ze,{onClick:o,children:[h,"Preferences"]}),e[18]=o,e[19]=b):b=e[19];let g;e[20]===Symbol.for("react.memo_cache_sentinel")?(g=n.jsx(ze,{asChild:!0,children:n.jsxs("a",{href:"https://www.decocms.com/terms-of-use",target:"_blank",rel:"noopener noreferrer",children:[n.jsx(yt,{size:18}),n.jsx("span",{className:"flex-1",children:"Terms & Conditions"}),n.jsx(Ve,{size:14})]})}),e[20]=g):g=e[20];let j;e[21]===Symbol.for("react.memo_cache_sentinel")?(j=n.jsx(ze,{asChild:!0,children:n.jsxs("a",{href:"https://github.com/decocms/mesh",target:"_blank",rel:"noopener noreferrer",children:[n.jsx(ot,{className:"size-[18px]"}),n.jsx("span",{className:"flex-1",children:"decocms/mesh"}),n.jsx(Ve,{size:14})]})}),e[21]=j):j=e[21];let v;e[22]===Symbol.for("react.memo_cache_sentinel")?(v=n.jsxs(ze,{onClick:Cn,children:[n.jsx(Tt,{size:18}),"Log out"]}),e[22]=v):v=e[22];let S;e[23]!==b?(S=n.jsxs("div",{className:"p-1 flex flex-col",children:[x,b,g,j,v]}),e[23]=b,e[24]=S):S=e[24];let C;return e[25]!==S||e[26]!==p?(C=n.jsx(n.Fragment,{children:n.jsxs("div",{className:"flex flex-col gap-0.5 bg-sidebar min-w-[250px]",children:[p,S]})}),e[25]=S,e[26]=p,e[27]=C):C=e[27],C}function Cn(){return re.signOut()}function kn(t){const e=w.c(26),{org:s,isActive:r,isHovered:o,onClick:i,onSettings:l,onHover:a}=t,c=r,d=o&&!r,m=o&&"bg-accent/50",f=r&&!o&&"bg-accent hover:bg-accent";let u;e[0]!==m||e[1]!==f?(u=_("flex items-center gap-2 w-full justify-start font-normal h-10 px-2 rounded-lg cursor-pointer transition-colors",m,f),e[0]=m,e[1]=f,e[2]=u):u=e[2];let p;e[3]!==i?(p=S=>{(S.key==="Enter"||S.key===" ")&&(S.preventDefault(),i?.())},e[3]=i,e[4]=p):p=e[4];let x;e[5]!==a||e[6]!==s.id?(x=()=>a?.(s.id),e[5]=a,e[6]=s.id,e[7]=x):x=e[7];const h=s.logo??void 0;let b;e[8]!==s.name||e[9]!==h?(b=n.jsx(le,{url:h,fallback:s.name,size:"sm",className:"size-6 shrink-0 rounded-md",objectFit:"cover"}),e[8]=s.name,e[9]=h,e[10]=b):b=e[10];let g;e[11]!==s.name?(g=n.jsx("span",{className:"flex-1 text-sm text-foreground truncate text-left min-w-0",children:s.name}),e[11]=s.name,e[12]=g):g=e[12];let j;e[13]!==l||e[14]!==s.name||e[15]!==d||e[16]!==c?(j=l&&c?n.jsx("button",{type:"button","aria-label":`${s.name} settings`,className:"size-5 shrink-0 flex items-center justify-center rounded-md transition-colors hover:bg-foreground/10",onClick:S=>{S.stopPropagation(),l()},children:n.jsx(xt,{size:16,className:"text-muted-foreground"})}):d?n.jsx(zs,{size:16,className:"text-muted-foreground shrink-0"}):n.jsx("span",{className:"size-5 shrink-0","aria-hidden":"true"}),e[13]=l,e[14]=s.name,e[15]=d,e[16]=c,e[17]=j):j=e[17];let v;return e[18]!==i||e[19]!==u||e[20]!==p||e[21]!==x||e[22]!==b||e[23]!==g||e[24]!==j?(v=n.jsxs("div",{role:"button",tabIndex:0,className:u,onClick:i,onKeyDown:p,onMouseEnter:x,children:[b,g,j]}),e[18]=i,e[19]=u,e[20]=p,e[21]=x,e[22]=b,e[23]=g,e[24]=j,e[25]=v):v=e[25],v}function _n(t){const e=w.c(34),{currentOrgSlug:s,hoveredOrgId:r,onOrgSelect:o,onOrgSettings:i,onPopoverClose:l,onCreateOrganization:a,onOrgHover:c}=t,{data:d}=re.useListOrganizations();let m,f,u,p;if(e[0]!==s||e[1]!==r||e[2]!==a||e[3]!==c||e[4]!==o||e[5]!==i||e[6]!==l||e[7]!==d){let b;e[12]!==s?(b=(y,z)=>y.slug===s?-1:z.slug===s?1:y.name.localeCompare(z.name),e[12]=s,e[13]=b):b=e[13];const g=[...d??[]].sort(b);u="flex flex-col min-w-[240px] border-l border-border";let j;e[14]===Symbol.for("react.memo_cache_sentinel")?(j=n.jsx("span",{className:"text-xs text-muted-foreground truncate",children:"Your Organizations"}),e[14]=j):j=e[14];let v;e[15]!==a||e[16]!==l?(v=()=>{l(),a()},e[15]=a,e[16]=l,e[17]=v):v=e[17];let S;e[18]===Symbol.for("react.memo_cache_sentinel")?(S=n.jsx(ft,{size:16,className:"text-muted-foreground"}),e[18]=S):S=e[18],e[19]!==v?(p=n.jsxs("div",{className:"flex items-center justify-between h-10 px-3 border-b border-border",children:[j,n.jsx(X,{variant:"ghost",size:"icon",className:"size-5",onClick:v,children:S})]}),e[19]=v,e[20]=p):p=e[20],m="flex flex-col gap-0.5 p-1 flex-1 overflow-y-auto";let C;e[21]!==s||e[22]!==r||e[23]!==c||e[24]!==o||e[25]!==i?(C=y=>n.jsx(kn,{org:y,isActive:y.slug===s,isHovered:y.id===r,onClick:()=>o(y.slug),onSettings:()=>i(y.slug),onHover:c},y.slug),e[21]=s,e[22]=r,e[23]=c,e[24]=o,e[25]=i,e[26]=C):C=e[26],f=g.map(C),e[0]=s,e[1]=r,e[2]=a,e[3]=c,e[4]=o,e[5]=i,e[6]=l,e[7]=d,e[8]=m,e[9]=f,e[10]=u,e[11]=p}else m=e[8],f=e[9],u=e[10],p=e[11];let x;e[27]!==m||e[28]!==f?(x=n.jsx("div",{className:m,children:f}),e[27]=m,e[28]=f,e[29]=x):x=e[29];let h;return e[30]!==u||e[31]!==p||e[32]!==x?(h=n.jsxs("div",{className:u,children:[p,x]}),e[30]=u,e[31]=p,e[32]=x,e[33]=h):h=e[33],h}function Bt(t){const e=w.c(51),{open:s,onOpenChange:r,user:o,userImage:i}=t,[l,a]=ms(),[c,d]=N.useState(!1);let m;e[0]!==o.id?(m=()=>{navigator.clipboard.writeText(o.id),d(!0),setTimeout(()=>d(!1),2e3)},e[0]=o.id,e[1]=m):m=e[1];const f=m;let u;e[2]===Symbol.for("react.memo_cache_sentinel")?(u=n.jsx($s,{className:"text-base",children:"Profile Settings"}),e[2]=u):u=e[2];let p;e[3]===Symbol.for("react.memo_cache_sentinel")?(p=n.jsxs(Is,{className:"px-6 pt-6 pb-4 border-b border-border shrink-0 relative",children:[u,n.jsxs(Os,{className:"absolute top-1/2 right-4 -translate-y-1/2 cursor-pointer rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2",children:[n.jsx(Le,{size:16}),n.jsx("span",{className:"sr-only",children:"Close"})]})]}),e[3]=p):p=e[3];const x=o.name||"U";let h;e[4]!==x||e[5]!==i?(h=n.jsx(le,{url:i,fallback:x,shape:"circle",size:"xl",className:"h-16 w-16"}),e[4]=x,e[5]=i,e[6]=h):h=e[6];const b=o.name||"User";let g;e[7]!==b?(g=n.jsx("span",{className:"text-base font-medium text-foreground",children:b}),e[7]=b,e[8]=g):g=e[8];let j;e[9]!==o.email?(j=n.jsx("span",{className:"text-sm text-muted-foreground",children:o.email}),e[9]=o.email,e[10]=j):j=e[10];let v;e[11]!==g||e[12]!==j?(v=n.jsxs("div",{className:"flex flex-col gap-1",children:[g,j]}),e[11]=g,e[12]=j,e[13]=v):v=e[13];let S;e[14]!==h||e[15]!==v?(S=n.jsxs("div",{className:"flex items-center gap-4",children:[h,v]}),e[14]=h,e[15]=v,e[16]=S):S=e[16];let C;e[17]!==l||e[18]!==a?(C=()=>a(!l),e[17]=l,e[18]=a,e[19]=C):C=e[19];let y;e[20]===Symbol.for("react.memo_cache_sentinel")?(y=n.jsxs("div",{className:"flex flex-col gap-1 flex-1 min-w-0",children:[n.jsxs(Ms,{className:"text-sm font-medium text-foreground flex items-center gap-2 pointer-events-none",children:[n.jsx(As,{size:16,className:"text-muted-foreground"}),"Developer Mode"]}),n.jsx("p",{className:"text-xs text-muted-foreground pointer-events-none",children:"Show technical details like JSON input/output for tool calls"})]}),e[20]=y):y=e[20];let z;e[21]!==l||e[22]!==a?(z=n.jsx("div",{onClick:zn,children:n.jsx(Es,{checked:l,onCheckedChange:a})}),e[21]=l,e[22]=a,e[23]=z):z=e[23];let O;e[24]!==C||e[25]!==z?(O=n.jsxs("button",{type:"button",onClick:C,className:"flex items-center justify-between gap-4 p-4 rounded-lg border border-border hover:bg-accent/50 transition-colors text-left w-full cursor-pointer",children:[y,z]}),e[24]=C,e[25]=z,e[26]=O):O=e[26];let $;e[27]!==S||e[28]!==O?($=n.jsxs("div",{className:"p-5 space-y-6 min-h-[225px]",children:[S,O]}),e[27]=S,e[28]=O,e[29]=$):$=e[29];let k;e[30]!==o.id?(k=n.jsx("span",{className:"font-mono text-xs",children:o.id}),e[30]=o.id,e[31]=k):k=e[31];let T;e[32]!==c?(T=c?n.jsx(De,{size:14,className:"text-green-600"}):n.jsx(bt,{size:14,className:"opacity-0 group-hover:opacity-100 transition-opacity"}),e[32]=c,e[33]=T):T=e[33];let M;e[34]!==f||e[35]!==k||e[36]!==T?(M=n.jsx(Ee,{asChild:!0,children:n.jsxs("button",{type:"button",onClick:f,className:"group flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors",children:[k,T]})}),e[34]=f,e[35]=k,e[36]=T,e[37]=M):M=e[37];let E;e[38]===Symbol.for("react.memo_cache_sentinel")?(E=n.jsx(Me,{side:"top",children:n.jsx("p",{className:"text-xs",children:"Copy user ID"})}),e[38]=E):E=e[38];let H;e[39]!==M?(H=n.jsx(ct,{children:n.jsxs(Ae,{children:[M,E]})}),e[39]=M,e[40]=H):H=e[40];let L;e[41]===Symbol.for("react.memo_cache_sentinel")?(L=n.jsxs("span",{className:"text-xs text-muted-foreground/50",children:["Mesh v","2.82.0"]}),e[41]=L):L=e[41];let P;e[42]!==H?(P=n.jsxs("div",{className:"border-t border-border px-5 py-4 flex items-center justify-between shrink-0",children:[H,L]}),e[42]=H,e[43]=P):P=e[43];let A;e[44]!==$||e[45]!==P?(A=n.jsxs(Ts,{className:"sm:max-w-lg sm:max-h-[85vh] p-0 flex flex-col",closeButtonClassName:"hidden",children:[p,n.jsxs("div",{className:"flex flex-col",children:[$,P]})]}),e[44]=$,e[45]=P,e[46]=A):A=e[46];let R;return e[47]!==r||e[48]!==s||e[49]!==A?(R=n.jsx(Ps,{open:s,onOpenChange:r,children:A}),e[47]=r,e[48]=s,e[49]=A,e[50]=R):R=e[50],R}function zn(t){return t.stopPropagation()}function Wt(t){const e=w.c(76),{isCollapsed:s,variant:r,onCreateProject:o}=t,i=s===void 0?!1:s,l=r===void 0?"light":r;let a;e[0]===Symbol.for("react.memo_cache_sentinel")?(a={strict:!1},e[0]=a):a=e[0];const{org:c,project:d}=Ye(a),{data:m}=re.useListOrganizations(),{data:f}=re.useSession(),u=ke(),p=l==="dark",h=ae()?.project;let b;e[1]!==c||e[2]!==m?(b=m?.find(Q=>Q.slug===c),e[1]=c,e[2]=m,e[3]=b):b=e[3];const g=b,[j,v]=N.useState(!1),[S,C]=N.useState(!1),[y,z]=N.useState(!1),[O,$]=N.useState(null),k=f?.user,T=k?.image;let M;e[4]!==g||e[5]!==O||e[6]!==m?(M=O?m?.find(Q=>Q.id===O):g,e[4]=g,e[5]=O,e[6]=m,e[7]=M):M=e[7];const E=M;let H;e[8]!==u?(H=Q=>{v(!1),u({to:"/$org/$project/settings",params:{org:Q,project:ne}})},e[8]=u,e[9]=H):H=e[9];const L=H;let P;e[10]!==u?(P=Q=>{v(!1),u({to:"/$org/$project",params:{org:Q,project:ne}})},e[10]=u,e[11]=P):P=e[11];const A=P;let R;e[12]!==u?(R=(Q,Fe)=>{v(!1),u({to:"/$org/$project",params:{org:Q,project:Fe}})},e[12]=u,e[13]=R):R=e[13];const W=R;let U;e[14]!==u?(U=(Q,Fe)=>{v(!1),u({to:"/$org/$project/settings",params:{org:Q,project:Fe}})},e[14]=u,e[15]=U):U=e[15];const B=U;let F;e[16]!==o?(F=o?()=>{v(!1),o()}:void 0,e[16]=o,e[17]=F):F=e[17];const G=F;let Z;e[18]===Symbol.for("react.memo_cache_sentinel")?(Z=Q=>{v(Q),Q||$(null)},e[18]=Z):Z=e[18];const se=Z;let q;e[19]!==g?(q=()=>{g&&$(g.id)},e[19]=g,e[20]=q):q=e[20];const V=q,I=p?"hover:bg-zinc-800 text-white":"hover:bg-sidebar-accent",D=i?"justify-center":"justify-start",K=i?"":"pl-0.5! px-1.5 gap-1.5";let Y;e[21]!==I||e[22]!==D||e[23]!==K?(Y=_("h-7 min-w-0 max-w-full",I,D,K),e[21]=I,e[22]=D,e[23]=K,e[24]=Y):Y=e[24];const J=g?.logo??"",ce=g?.name??"",We=p&&"border-none";let fe;e[25]!==We?(fe=_("shrink-0 rounded-[5px]",We),e[25]=We,e[26]=fe):fe=e[26];let ue;e[27]!==J||e[28]!==ce||e[29]!==fe?(ue=n.jsx(le,{url:J,fallback:ce,size:"xs",className:fe,objectFit:"cover"}),e[27]=J,e[28]=ce,e[29]=fe,e[30]=ue):ue=e[30];let pe;e[31]!==g?.name||e[32]!==h||e[33]!==i||e[34]!==p?(pe=!i&&n.jsxs(n.Fragment,{children:[n.jsx("div",{className:_("min-w-0 text-left",p&&"flex-1"),children:p&&h?n.jsxs(n.Fragment,{children:[n.jsx("p",{className:"text-[10px] text-zinc-500 leading-none truncate",children:g?.name??"Select org"}),n.jsx("p",{className:"text-sm text-white font-normal leading-tight mt-0.5 truncate",children:h.name??h.slug})]}):n.jsx("span",{className:"truncate text-[14px] tracking-[-0.00625rem] font-medium text-foreground",children:g?.name??"Select org"})}),p?n.jsx(dt,{className:"size-3 text-zinc-500 shrink-0"}):n.jsx(ht,{className:"size-3.5 text-muted-foreground shrink-0"})]}),e[31]=g?.name,e[32]=h,e[33]=i,e[34]=p,e[35]=pe):pe=e[35];let he;e[36]!==V||e[37]!==Y||e[38]!==ue||e[39]!==pe?(he=n.jsx(Je,{asChild:!0,children:n.jsxs(X,{variant:"ghost",size:"sm",onClick:V,className:Y,children:[ue,pe]})}),e[36]=V,e[37]=Y,e[38]=ue,e[39]=pe,e[40]=he):he=e[40];let xe;e[41]!==k||e[42]!==T?(xe=k&&n.jsx(yn,{user:k,userImage:T,onOpenSettings:()=>{C(!0),v(!1)}}),e[41]=k,e[42]=T,e[43]=xe):xe=e[43];let Ie,Oe;e[44]===Symbol.for("react.memo_cache_sentinel")?(Ie=()=>v(!1),Oe=()=>z(!0),e[44]=Ie,e[45]=Oe):(Ie=e[44],Oe=e[45]);let ge;e[46]!==L||e[47]!==A||e[48]!==O||e[49]!==c?(ge=n.jsx(_n,{currentOrgSlug:c,hoveredOrgId:O,onOrgSelect:A,onOrgSettings:L,onPopoverClose:Ie,onCreateOrganization:Oe,onOrgHover:$}),e[46]=L,e[47]=A,e[48]=O,e[49]=c,e[50]=ge):ge=e[50];let be;e[51]!==G||e[52]!==B||e[53]!==W||e[54]!==E||e[55]!==c||e[56]!==d?(be=Xs,e[51]=G,e[52]=B,e[53]=W,e[54]=E,e[55]=c,e[56]=d,e[57]=be):be=e[57];let je;e[58]!==xe||e[59]!==ge||e[60]!==be?(je=n.jsxs(Xe,{align:"start",side:"bottom",className:"p-0 flex w-auto h-88 overflow-hidden",children:[xe,ge,be]}),e[58]=xe,e[59]=ge,e[60]=be,e[61]=je):je=e[61];let ve;e[62]!==j||e[63]!==he||e[64]!==je?(ve=n.jsxs(qe,{open:j,onOpenChange:se,children:[he,je]}),e[62]=j,e[63]=he,e[64]=je,e[65]=ve):ve=e[65];let we;e[66]!==S||e[67]!==k||e[68]!==T?(we=k&&S&&k.email&&n.jsx(Bt,{open:S,onOpenChange:C,user:{...k,name:k.name??void 0,email:k.email},userImage:T}),e[66]=S,e[67]=k,e[68]=T,e[69]=we):we=e[69];let Ne;e[70]!==y?(Ne=n.jsx(gt,{open:y,onOpenChange:z}),e[70]=y,e[71]=Ne):Ne=e[71];let Te;return e[72]!==ve||e[73]!==we||e[74]!==Ne?(Te=n.jsxs(n.Fragment,{children:[ve,we,Ne]}),e[72]=ve,e[73]=we,e[74]=Ne,e[75]=Te):Te=e[75],Te}Wt.Skeleton=function({variant:e="light"}){const s=e==="dark";return n.jsxs("div",{className:_("flex items-center gap-1.5 h-7 px-1.5 w-full",s&&"text-white"),children:[n.jsx(de,{className:_("size-5 rounded-[5px] shrink-0",s&&"bg-zinc-800")}),n.jsx(de,{className:_("h-3.5 flex-1",s&&"bg-zinc-800")})]})};function Ke(t){const e=w.c(71),{onCreateProject:s}=t,{state:r,toggleSidebar:o}=Ue(),i=r==="collapsed",[l,a]=He(),{locator:c}=ae();let d;e[0]!==c?(d=ye.isOrgAdminProject(c),e[0]=c,e[1]=d):d=e[1];const f=!d;let u;e[2]!==a?(u=()=>{a($n)},e[2]=a,e[3]=u):u=e[3];const p=u,x=f&&"bg-[#030302] border-b border-zinc-800";let h;e[4]!==x?(h=_("h-12 gap-0 pt-0 border-r",x),e[4]=x,e[5]=h):h=e[5];const b=i&&"group-hover/switcher:opacity-0 group-hover/switcher:pointer-events-none group-hover/switcher:invisible";let g;e[6]!==b?(g=_("w-full min-w-0 transition-opacity",b),e[6]=b,e[7]=g):g=e[7];const j=f?"dark":"light";let v;e[8]!==i||e[9]!==s||e[10]!==j?(v=n.jsx(Wt,{isCollapsed:i,variant:j,onCreateProject:s}),e[8]=i,e[9]=s,e[10]=j,e[11]=v):v=e[11];let S;e[12]!==g||e[13]!==v?(S=n.jsx("div",{className:g,children:v}),e[12]=g,e[13]=v,e[14]=S):S=e[14];const C=f?"hover:bg-zinc-800 text-zinc-400":"hover:bg-sidebar-accent",y=i?"opacity-0 invisible pointer-events-none group-hover/switcher:opacity-100 group-hover/switcher:visible group-hover/switcher:pointer-events-auto":"opacity-0 invisible pointer-events-none";let z;e[15]!==C||e[16]!==y?(z=_("absolute inset-0 m-auto size-7 transition-opacity",C,y),e[15]=C,e[16]=y,e[17]=z):z=e[17];const O=!i,$=f?"text-zinc-400":"text-muted-foreground";let k;e[18]!==$?(k=_("size-4 shrink-0",$),e[18]=$,e[19]=k):k=e[19];let T;e[20]!==k?(T=n.jsx(_t,{className:k}),e[20]=k,e[21]=T):T=e[21];let M;e[22]!==z||e[23]!==O||e[24]!==T||e[25]!==o?(M=n.jsx(X,{variant:"ghost",size:"icon",className:z,onClick:o,"aria-label":"Expand sidebar",disabled:O,children:T}),e[22]=z,e[23]=O,e[24]=T,e[25]=o,e[26]=M):M=e[26];let E;e[27]!==M||e[28]!==S?(E=n.jsxs("div",{className:"group/switcher relative flex items-center justify-center gap-1.5 min-w-0 flex-1 overflow-hidden",children:[S,M]}),e[27]=M,e[28]=S,e[29]=E):E=e[29];const H=i&&"hidden";let L;e[30]!==H?(L=_("flex items-center gap-0.5 shrink-0",H),e[30]=H,e[31]=L):L=e[31];const P=f?"hover:bg-zinc-800 text-zinc-400 hover:text-white":"hover:bg-sidebar-accent";let A;e[32]!==P?(A=_("size-7",P),e[32]=P,e[33]=A):A=e[33];const R=f?"text-zinc-400":"text-muted-foreground";let W;e[34]!==R?(W=_("size-4",R),e[34]=R,e[35]=W):W=e[35];let U;e[36]!==W?(U=n.jsx(kt,{className:W}),e[36]=W,e[37]=U):U=e[37];let B;e[38]!==i||e[39]!==A||e[40]!==U||e[41]!==o?(B=n.jsx(Ee,{asChild:!0,children:n.jsx(X,{variant:"ghost",size:"icon",className:A,onClick:o,"aria-label":"Collapse sidebar",disabled:i,children:U})}),e[38]=i,e[39]=A,e[40]=U,e[41]=o,e[42]=B):B=e[42];let F;e[43]===Symbol.for("react.memo_cache_sentinel")?(F=n.jsx(Me,{side:"bottom",children:"Collapse sidebar"}),e[43]=F):F=e[43];let G;e[44]!==B?(G=n.jsxs(Ae,{children:[B,F]}),e[44]=B,e[45]=G):G=e[45];let Z;e[46]!==l||e[47]!==f?(Z=_("size-7",f?_("hover:bg-zinc-800 text-zinc-400 hover:text-white",l&&"bg-zinc-800 text-white"):_("hover:bg-sidebar-accent",l&&"bg-sidebar-accent")),e[46]=l,e[47]=f,e[48]=Z):Z=e[48];const se=f?"text-inherit":"text-muted-foreground";let q;e[49]!==se?(q=_(se),e[49]=se,e[50]=q):q=e[50];let V;e[51]!==q?(V=n.jsx(mt,{size:11,className:q}),e[51]=q,e[52]=V):V=e[52];let I;e[53]!==i||e[54]!==Z||e[55]!==V||e[56]!==p?(I=n.jsx(Ee,{asChild:!0,children:n.jsx(X,{variant:"ghost",size:"icon",className:Z,onClick:p,"aria-label":"Toggle Decopilot",disabled:i,children:V})}),e[53]=i,e[54]=Z,e[55]=V,e[56]=p,e[57]=I):I=e[57];let D;e[58]===Symbol.for("react.memo_cache_sentinel")?(D=n.jsx(Me,{side:"bottom",children:"Toggle Decopilot"}),e[58]=D):D=e[58];let K;e[59]!==I?(K=n.jsxs(Ae,{children:[I,D]}),e[59]=I,e[60]=K):K=e[60];let Y;e[61]!==L||e[62]!==G||e[63]!==K?(Y=n.jsxs("div",{className:L,children:[G,K]}),e[61]=L,e[62]=G,e[63]=K,e[64]=Y):Y=e[64];let J;e[65]!==E||e[66]!==Y?(J=n.jsx(Ce,{children:n.jsx(me,{children:n.jsxs("div",{className:"flex items-center justify-between w-full h-12",children:[E,Y]})})}),e[65]=E,e[66]=Y,e[67]=J):J=e[67];let ce;return e[68]!==J||e[69]!==h?(ce=n.jsx(At,{className:h,children:J}),e[68]=J,e[69]=h,e[70]=ce):ce=e[70],ce}function $n(t){return!t}Ke.Skeleton=function({isDark:e=!1}){return n.jsx(At,{className:_("h-12 gap-0 pt-0",e&&"bg-[#030302] border-b border-zinc-800"),children:n.jsx(Ce,{children:n.jsx(me,{children:n.jsxs("div",{className:"flex items-center justify-between w-full h-12",children:[n.jsxs("div",{className:"flex items-center gap-1.5 min-w-0 flex-1 px-1.5",children:[n.jsx(de,{className:_("size-5 rounded-[5px] shrink-0",e&&"bg-zinc-800")}),n.jsx(de,{className:_("h-3.5 w-16",e&&"bg-zinc-800")})]}),n.jsxs("div",{className:"flex items-center gap-0.5",children:[n.jsx(de,{className:_("size-7 rounded-lg",e&&"bg-zinc-800")}),n.jsx(de,{className:_("size-7 rounded-lg",e&&"bg-zinc-800")})]})]})})})})};function In(){const t=w.c(10),{locator:e}=ae(),s=ke(),o=Re().location.pathname;let i;t[0]!==o?(i=o.includes("/settings"),t[0]=o,t[1]=i):i=t[1];const l=i;let a;t[2]!==e||t[3]!==s?(a=()=>{s({to:"/$org/$project/settings",params:ye.parse(e)})},t[2]=e,t[3]=s,t[4]=a):a=t[4];const c=a;let d,m;t[5]===Symbol.for("react.memo_cache_sentinel")?(d=n.jsx("span",{className:"text-muted-foreground group-hover/nav-item:text-foreground transition-colors [&>svg]:size-4",children:n.jsx(xt,{})}),m=n.jsx("span",{className:"truncate",children:"Settings"}),t[5]=d,t[6]=m):(d=t[5],m=t[6]);let f;return t[7]!==c||t[8]!==l?(f=n.jsx(un,{className:"py-2 border-r",children:n.jsx(Ce,{children:n.jsx(me,{children:n.jsxs(Be,{className:"group/nav-item cursor-pointer text-foreground/90 hover:text-foreground",onClick:c,isActive:l,tooltip:"Settings",children:[d,m]})})})}),t[7]=c,t[8]=l,t[9]=f):f=t[9],f}function Ft(t){const e=w.c(4),{children:s}=t;let r;e[0]===Symbol.for("react.memo_cache_sentinel")?(r=n.jsx(Lt,{className:"my-2 -ml-1"}),e[0]=r):r=e[0];let o;e[1]===Symbol.for("react.memo_cache_sentinel")?(o=n.jsx(me,{children:n.jsx("div",{className:"group-data-[collapsible=icon]:hidden px-2 py-0 text-xs font-medium h-6 text-muted-foreground flex items-center justify-between",children:n.jsx("span",{className:"whitespace-nowrap",children:"Pinned Views"})})}),e[1]=o):o=e[1];let i;return e[2]!==s?(i=n.jsxs(n.Fragment,{children:[r,o,s]}),e[2]=s,e[3]=i):i=e[3],i}function On(t){const e=w.c(26),{item:s}=t,r=ke(),{org:o}=ae(),i=jt(o.id),l=Ls(o.id);let a;e[0]!==l.update||e[1]!==s.url||e[2]!==i?.sidebar_items?(a=async()=>{const S=(i?.sidebar_items||[]).filter(C=>C.url!==s.url);await l.update.mutateAsync({sidebar_items:S})},e[0]=l.update,e[1]=s.url,e[2]=i?.sidebar_items,e[3]=a):a=e[3];const c=a;let d;e[4]===Symbol.for("react.memo_cache_sentinel")?(d=/^https?:\/\/.+/,e[4]=d):d=e[4];let m;e[5]!==s.icon?(m=d.test(s.icon),e[5]=s.icon,e[6]=m):m=e[6];const f=m;let u;e[7]!==s.url||e[8]!==r?(u=()=>{r({to:s.url})},e[7]=s.url,e[8]=r,e[9]=u):u=e[9];const p=s.title;let x;e[10]!==f||e[11]!==s.icon||e[12]!==s.title?(x=n.jsx("div",{className:"flex items-center justify-center shrink-0",children:f?n.jsx("img",{src:s.icon,alt:s.title,className:"h-4 w-4 rounded object-cover"}):n.jsx(Ds,{size:16,className:"text-muted-foreground group-hover/item:text-foreground transition-colors"})}),e[10]=f,e[11]=s.icon,e[12]=s.title,e[13]=x):x=e[13];let h;e[14]!==s.title?(h=s.title.toLocaleLowerCase(),e[14]=s.title,e[15]=h):h=e[15];let b;e[16]!==h?(b=n.jsx("div",{className:"flex-1 min-w-0 flex flex-col items-start",children:n.jsx("span",{className:"truncate text-sm w-full capitalize",children:h})}),e[16]=h,e[17]=b):b=e[17];let g;e[18]!==c?(g=n.jsx(Le,{size:16,className:"text-muted-foreground opacity-0 group-hover/item:opacity-50 hover:opacity-100 cursor-pointer",onClick:v=>{v.preventDefault(),v.stopPropagation(),c()}}),e[18]=c,e[19]=g):g=e[19];let j;return e[20]!==s.title||e[21]!==u||e[22]!==x||e[23]!==b||e[24]!==g?(j=n.jsx(me,{children:n.jsxs(Be,{className:"w-full pr-2 group/item relative cursor-pointer text-foreground/90 hover:text-foreground",onClick:u,tooltip:p,children:[x,b,g]})}),e[20]=s.title,e[21]=u,e[22]=x,e[23]=b,e[24]=g,e[25]=j):j=e[25],j}function rt(){const t=w.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=n.jsx(me,{children:n.jsx("div",{className:"flex items-center gap-2 px-4 py-2",children:n.jsx(de,{className:"h-4 flex-1"})})}),t[0]=e):e=t[0],e}function Tn(){const t=w.c(4),{org:e}=ae(),r=jt(e.id)?.sidebar_items;if(!r?.length)return null;let o;t[0]!==r?(o=r.map(Pn),t[0]=r,t[1]=o):o=t[1];let i;return t[2]!==o?(i=n.jsx(Ft,{children:o}),t[2]=o,t[3]=i):i=t[3],i}function Pn(t){return n.jsx(On,{item:t},t.url)}function Mn(){const t=w.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=n.jsx(N.Suspense,{fallback:n.jsxs(Ft,{children:[n.jsx(rt,{}),n.jsx(rt,{})]}),children:n.jsx(Tn,{})}),t[0]=e):e=t[0],e}function En(t){const e=w.c(15),{onCreateProject:s}=t,r=Qs(),{locator:o}=ae();let i;e[0]!==o?(i=ye.isOrgAdminProject(o),e[0]=o,e[1]=i):i=e[1];const l=i;let a;e[2]===Symbol.for("react.memo_cache_sentinel")?(a=n.jsx(Ke.Skeleton,{}),e[2]=a):a=e[2];let c;e[3]!==s?(c=n.jsx(N.Suspense,{fallback:a,children:n.jsx(Ke,{onCreateProject:s})}),e[3]=s,e[4]=c):c=e[4];let d;e[5]===Symbol.for("react.memo_cache_sentinel")?(d=n.jsx(In,{}),e[5]=d):d=e[5];let m;e[6]!==l?(m=l?null:n.jsx(Mn,{}),e[6]=l,e[7]=m):m=e[7];let f;e[8]!==m?(f=n.jsx(pt,{children:n.jsx(N.Suspense,{fallback:null,children:m})}),e[8]=m,e[9]=f):f=e[9];const u=l?void 0:"pt-3";let p;return e[10]!==r||e[11]!==c||e[12]!==f||e[13]!==u?(p=n.jsx(Ut,{sections:r,header:c,footer:d,additionalContent:f,contentClassName:u}),e[10]=r,e[11]=c,e[12]=f,e[13]=u,e[14]=p):p=e[14],p}function An(t){const e=w.c(12);let s,r,o,i;e[0]!==t?({className:s,orientation:o,decorative:i,...r}=t,e[0]=t,e[1]=s,e[2]=r,e[3]=o,e[4]=i):(s=e[1],r=e[2],o=e[3],i=e[4]);const l=o===void 0?"horizontal":o,a=i===void 0?!0:i;let c;e[5]!==s?(c=_("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",s),e[5]=s,e[6]=c):c=e[6];let d;return e[7]!==a||e[8]!==l||e[9]!==r||e[10]!==c?(d=n.jsx(ss,{"data-slot":"separator-root",decorative:a,orientation:l,className:c,...r}),e[7]=a,e[8]=l,e[9]=r,e[10]=c,e[11]=d):d=e[11],d}const Vt=N.createContext(null);function Ln(){const t=N.useContext(Vt);if(!t)throw new Error("TopbarSwitcher compound components must be used within TopbarSwitcher.Root");return t}function Dn(t){const e=w.c(10),{children:s,onItemHover:r}=t,[o,i]=N.useState(null);let l;e[0]!==r?(l=f=>{i(f),r?.(f)},e[0]=r,e[1]=l):l=e[1];const a=l;let c;e[2]!==o||e[3]!==a?(c={hoveredItem:o,setHoveredItem:a},e[2]=o,e[3]=a,e[4]=c):c=e[4];let d;e[5]!==s?(d=n.jsx(qe,{children:s}),e[5]=s,e[6]=d):d=e[6];let m;return e[7]!==c||e[8]!==d?(m=n.jsx(Vt.Provider,{value:c,children:d}),e[7]=c,e[8]=d,e[9]=m):m=e[9],m}function Rn(t){const e=w.c(6),{children:s,onClick:r}=t;let o;e[0]!==s||e[1]!==r?(o=n.jsx(X,{variant:"link",className:"p-0.5 h-auto",onClick:r,type:"button",children:s}),e[0]=s,e[1]=r,e[2]=o):o=e[2];let i;e[3]===Symbol.for("react.memo_cache_sentinel")?(i=n.jsx(Je,{asChild:!0,children:n.jsx(X,{size:"icon",variant:"ghost",className:"w-6 h-6 p-0",children:n.jsx(dt,{size:16,className:"opacity-50"})})}),e[3]=i):i=e[3];let l;return e[4]!==o?(l=n.jsxs("div",{className:"flex items-center gap-1",children:[o,i]}),e[4]=o,e[5]=l):l=e[5],l}function Hn(t){const e=w.c(8),{item:s,fallback:r}=t,o=r===void 0?"":r,i=s?.avatarUrl??"",l=s?.name??o;let a;e[0]!==i||e[1]!==l?(a=n.jsx(le,{url:i,fallback:l,size:"xs",objectFit:"contain"}),e[0]=i,e[1]=l,e[2]=a):a=e[2];const c=s?.name??o;let d;e[3]!==c?(d=n.jsx("span",{children:c}),e[3]=c,e[4]=d):d=e[4];let m;return e[5]!==a||e[6]!==d?(m=n.jsxs("div",{className:"flex items-center gap-2",children:[a,d]}),e[5]=a,e[6]=d,e[7]=m):m=e[7],m}function Un(t){const e=w.c(6),{children:s,align:r}=t,o=r===void 0?"start":r,l=N.Children.toArray(s).filter(Bn).length===1?"280px":"480px";let a;e[0]!==l?(a={width:l},e[0]=l,e[1]=a):a=e[1];let c;return e[2]!==o||e[3]!==s||e[4]!==a?(c=n.jsx(Xe,{align:o,className:"p-0 flex items-start",style:a,children:s}),e[2]=o,e[3]=s,e[4]=a,e[5]=c):c=e[5],c}function Bn(t){return N.isValidElement(t)&&(t.type===Kt||t.type===Gt)}function Gt(t){const e=w.c(5),{children:s,className:r}=t;let o;e[0]!==r?(o=_("flex flex-col border-border w-[240px] border-r last:border-r-0 last:w-full",r),e[0]=r,e[1]=o):o=e[1];let i;return e[2]!==s||e[3]!==o?(i=n.jsx("div",{className:o,children:s}),e[2]=s,e[3]=o,e[4]=i):i=e[4],i}const Kt=Gt;function Wn(t){const e=w.c(6),{placeholder:s,value:r,onChange:o}=t,i=s===void 0?"Search...":s;let l;e[0]!==o?(l=c=>o(c.target.value),e[0]=o,e[1]=l):l=e[1];let a;return e[2]!==i||e[3]!==l||e[4]!==r?(a=n.jsx(Rs,{placeholder:i,value:r,onChange:l,className:"rounded-none border-t-0 border-x-0 focus-visible:border-border focus-visible:ring-0"}),e[2]=i,e[3]=l,e[4]=r,e[5]=a):a=e[5],a}function Fn(t){const e=w.c(6),{children:s,emptyMessage:r}=t,o=r===void 0?"No items found.":r,i=N.Children.count(s)>0;let l;e[0]!==o||e[1]!==i?(l=!i&&n.jsx("div",{className:"text-muted-foreground text-sm px-1 py-8 text-center",children:o}),e[0]=o,e[1]=i,e[2]=l):l=e[2];let a;return e[3]!==s||e[4]!==l?(a=n.jsxs("div",{className:"flex flex-col gap-0.5 p-1 max-h-44 overflow-y-auto",children:[l,s]}),e[3]=s,e[4]=l,e[5]=a):a=e[5],a}function Vn(t){const e=w.c(15),{item:s,onClick:r,onHover:o,children:i}=t,l=Ln();let a;e[0]!==l||e[1]!==s||e[2]!==o?(a=()=>{l.setHoveredItem(s.slug),o?.(s)},e[0]=l,e[1]=s,e[2]=o,e[3]=a):a=e[3];const c=a;let d;e[4]!==s||e[5]!==r?(d=()=>r(s),e[4]=s,e[5]=r,e[6]=d):d=e[6];let m;e[7]!==i||e[8]!==s.avatarUrl||e[9]!==s.name?(m=i||n.jsxs(n.Fragment,{children:[n.jsx(le,{url:s.avatarUrl??"",fallback:s.name,size:"xs",className:"w-[22px]! h-[22px]!",objectFit:"contain"}),n.jsx("span",{className:"overflow-hidden text-ellipsis whitespace-nowrap",children:s.name})]}),e[7]=i,e[8]=s.avatarUrl,e[9]=s.name,e[10]=m):m=e[10];let f;return e[11]!==c||e[12]!==d||e[13]!==m?(f=n.jsx(X,{onClick:d,onMouseEnter:c,variant:"ghost",size:"sm",className:"w-full justify-start font-normal",children:m}),e[11]=c,e[12]=d,e[13]=m,e[14]=f):f=e[14],f}function Gn(t){const e=w.c(2),{children:s}=t;let r;return e[0]!==s?(r=n.jsx("div",{className:"px-1 pb-1 pt-0.5",children:s}),e[0]=s,e[1]=r):r=e[1],r}function Kn(t){const e=w.c(11),{onClick:s,icon:r,children:o,variant:i}=t,a=(i===void 0?"default":i)==="muted"&&"text-muted-foreground";let c;e[0]!==a?(c=_("w-full justify-start font-normal",a),e[0]=a,e[1]=c):c=e[1];let d;e[2]!==r?(d=r&&n.jsx("span",{className:"[&>svg]:size-4",children:r}),e[2]=r,e[3]=d):d=e[3];let m;e[4]!==o?(m=n.jsx("span",{children:o}),e[4]=o,e[5]=m):m=e[5];let f;return e[6]!==s||e[7]!==c||e[8]!==d||e[9]!==m?(f=n.jsxs(X,{variant:"ghost",size:"sm",className:c,onClick:s,children:[d,m]}),e[6]=s,e[7]=c,e[8]=d,e[9]=m,e[10]=f):f=e[10],f}function Zn(){const t=w.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=n.jsx(An,{}),t[0]=e):e=t[0],e}function Yn(){const t=w.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=n.jsx("div",{className:"h-4 w-16 bg-accent rounded-full animate-pulse"}),t[0]=e):e=t[0],e}const ee=Object.assign(Dn,{Trigger:Rn,CurrentItem:Hn,Content:Un,Panel:Kt,Search:Wn,Items:Fn,Item:Vn,Actions:Gn,Action:Kn,Separator:Zn,Skeleton:Yn});function Ze(){const t=w.c(59);let e;t[0]===Symbol.for("react.memo_cache_sentinel")?(e={strict:!1},t[0]=e):e=t[0];const{org:s}=Ye(e),{data:r}=re.useListOrganizations(),o=ke();let i;t[1]!==s||t[2]!==r?(i=r?.find(H=>H.slug===s),t[1]=s,t[2]=r,t[3]=i):i=t[3];const l=i,[a,c]=N.useState(""),[d,m]=N.useState(!1);let f,u,p,x,h,b,g,j;if(t[4]!==l||t[5]!==o||t[6]!==s||t[7]!==a||t[8]!==r){const L=(r?(()=>{const B=r.filter(F=>F.name.toLowerCase().includes(a.toLowerCase()));if(s){const F=B.findIndex(G=>G.slug===s);if(F>0){const G=B[F];G&&(B.splice(F,1),B.unshift(G))}}return B})():[]).map(qn);let P;t[17]!==l?(P=l?{slug:l.slug,name:l.name,avatarUrl:l.logo}:void 0,t[17]=l,t[18]=P):P=t[18];const A=P;x=ee;let R;t[19]!==o||t[20]!==s?(R=()=>o({to:"/$org",params:{org:s??""}}),t[19]=o,t[20]=s,t[21]=R):R=t[21];let W;t[22]!==A?(W=n.jsx(ee.CurrentItem,{item:A}),t[22]=A,t[23]=W):W=t[23],t[24]!==R||t[25]!==W?(j=n.jsx(ee.Trigger,{onClick:R,children:W}),t[24]=R,t[25]=W,t[26]=j):j=t[26],p=ee.Content,u=ee.Panel,t[27]!==a?(g=n.jsx(ee.Search,{placeholder:"Search organizations...",value:a,onChange:c}),t[27]=a,t[28]=g):g=t[28],f=ee.Items,h="No organizations found.";let U;t[29]!==o?(U=B=>n.jsx(ee.Item,{item:B,onClick:F=>o({to:"/$org",params:{org:F.slug}})},B.slug),t[29]=o,t[30]=U):U=t[30],b=L.map(U),t[4]=l,t[5]=o,t[6]=s,t[7]=a,t[8]=r,t[9]=f,t[10]=u,t[11]=p,t[12]=x,t[13]=h,t[14]=b,t[15]=g,t[16]=j}else f=t[9],u=t[10],p=t[11],x=t[12],h=t[13],b=t[14],g=t[15],j=t[16];let v;t[31]!==f||t[32]!==h||t[33]!==b?(v=n.jsx(f,{emptyMessage:h,children:b}),t[31]=f,t[32]=h,t[33]=b,t[34]=v):v=t[34];let S,C;t[35]===Symbol.for("react.memo_cache_sentinel")?(S=n.jsx(ee.Actions,{children:n.jsx(ee.Action,{onClick:()=>m(!0),variant:"muted",children:"+ Create organization"})}),C=n.jsx(ee.Separator,{}),t[35]=S,t[36]=C):(S=t[35],C=t[36]);let y;t[37]!==o?(y=()=>o({to:"/"}),t[37]=o,t[38]=y):y=t[38];let z;t[39]===Symbol.for("react.memo_cache_sentinel")?(z=n.jsx(Hs,{}),t[39]=z):z=t[39];let O;t[40]!==y?(O=n.jsx(ee.Actions,{children:n.jsx(ee.Action,{onClick:y,icon:z,children:"See all organizations"})}),t[40]=y,t[41]=O):O=t[41];let $;t[42]!==u||t[43]!==O||t[44]!==g||t[45]!==v?($=n.jsxs(u,{children:[g,v,S,C,O]}),t[42]=u,t[43]=O,t[44]=g,t[45]=v,t[46]=$):$=t[46];let k;t[47]!==p||t[48]!==$?(k=n.jsx(p,{children:$}),t[47]=p,t[48]=$,t[49]=k):k=t[49];let T;t[50]!==x||t[51]!==k||t[52]!==j?(T=n.jsxs(x,{children:[j,k]}),t[50]=x,t[51]=k,t[52]=j,t[53]=T):T=t[53];let M;t[54]!==d?(M=n.jsx(gt,{open:d,onOpenChange:m}),t[54]=d,t[55]=M):M=t[55];let E;return t[56]!==T||t[57]!==M?(E=n.jsxs(n.Fragment,{children:[T,M]}),t[56]=T,t[57]=M,t[58]=E):E=t[58],E}function qn(t){return{slug:t.slug,name:t.name,avatarUrl:t.logo}}Ze.Skeleton=ee.Skeleton;function Jn(){const t=w.c(10),{locator:e}=ae(),s=Us();if(ye.isOrgAdminProject(e))return null;const o=s?.leftRef;let i;t[0]!==o?(i=n.jsx("div",{ref:o,className:"flex items-center gap-2 flex-1 min-w-0"}),t[0]=o,t[1]=i):i=t[1];const l=s?.centerRef;let a;t[2]!==l?(a=n.jsx("div",{ref:l,className:"flex flex-1 h-full items-center justify-center px-4 min-w-0 [&:empty]:hidden"}),t[2]=l,t[3]=a):a=t[3];const c=s?.rightRef;let d;t[4]!==c?(d=n.jsx("div",{ref:c,className:"flex flex-1 gap-2 h-full items-center justify-end min-w-0 [&:empty]:hidden"}),t[4]=c,t[5]=d):d=t[5];let m;return t[6]!==i||t[7]!==a||t[8]!==d?(m=n.jsx("div",{className:"dark",children:n.jsxs("header",{className:"sticky top-0 z-50 h-12 bg-background flex items-center px-4 shrink-0",children:[i,a,d]})}),t[6]=i,t[7]=a,t[8]=d,t[9]=m):m=t[9],m}function Xn({prop:t,defaultProp:e,onChange:s=()=>{}}){const[r,o]=Qn({defaultProp:e,onChange:s}),i=t!==void 0,l=i?t:r,a=it(s),c=N.useCallback(d=>{if(i){const f=typeof d=="function"?d(t):d;f!==t&&a(f)}else o(d)},[i,t,o,a]);return[l,c]}function Qn({defaultProp:t,onChange:e}){const s=N.useState(t),[r]=s,o=N.useRef(r),i=it(e);return N.useEffect(()=>{o.current!==r&&(i(r),o.current=r)},[r,o,i]),s}function er(t){const e=w.c(4);let s;e[0]!==t?({...s}=t,e[0]=t,e[1]=s):s=e[1];let r;return e[2]!==s?(r=n.jsx(_e.Root,{"data-slot":"drawer",...s}),e[2]=s,e[3]=r):r=e[3],r}function tr(t){const e=w.c(4);let s;e[0]!==t?({...s}=t,e[0]=t,e[1]=s):s=e[1];let r;return e[2]!==s?(r=n.jsx(_e.Trigger,{"data-slot":"drawer-trigger",...s}),e[2]=s,e[3]=r):r=e[3],r}function sr(t){const e=w.c(4);let s;e[0]!==t?({...s}=t,e[0]=t,e[1]=s):s=e[1];let r;return e[2]!==s?(r=n.jsx(_e.Portal,{"data-slot":"drawer-portal",...s}),e[2]=s,e[3]=r):r=e[3],r}function nr(t){const e=w.c(8);let s,r;e[0]!==t?({className:s,...r}=t,e[0]=t,e[1]=s,e[2]=r):(s=e[1],r=e[2]);let o;e[3]!==s?(o=_("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",s),e[3]=s,e[4]=o):o=e[4];let i;return e[5]!==r||e[6]!==o?(i=n.jsx(_e.Overlay,{"data-slot":"drawer-overlay",className:o,...r}),e[5]=r,e[6]=o,e[7]=i):i=e[7],i}function rr(t){const e=w.c(12);let s,r,o;e[0]!==t?({className:r,children:s,...o}=t,e[0]=t,e[1]=s,e[2]=r,e[3]=o):(s=e[1],r=e[2],o=e[3]);let i;e[4]===Symbol.for("react.memo_cache_sentinel")?(i=n.jsx(nr,{}),e[4]=i):i=e[4];let l;e[5]!==r?(l=_("group/drawer-content bg-background fixed z-50 flex h-auto flex-col","data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh] data-[vaul-drawer-direction=top]:rounded-b-lg data-[vaul-drawer-direction=top]:border-b","data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=bottom]:rounded-t-lg data-[vaul-drawer-direction=bottom]:border-t","data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:right-0 data-[vaul-drawer-direction=right]:w-3/4 data-[vaul-drawer-direction=right]:border-l data-[vaul-drawer-direction=right]:sm:max-w-sm","data-[vaul-drawer-direction=left]:inset-y-0 data-[vaul-drawer-direction=left]:left-0 data-[vaul-drawer-direction=left]:w-3/4 data-[vaul-drawer-direction=left]:border-r data-[vaul-drawer-direction=left]:sm:max-w-sm",r),e[5]=r,e[6]=l):l=e[6];let a;e[7]===Symbol.for("react.memo_cache_sentinel")?(a=n.jsx("div",{className:"bg-muted mx-auto mt-4 hidden h-2 w-[100px] shrink-0 rounded-full group-data-[vaul-drawer-direction=bottom]/drawer-content:block"}),e[7]=a):a=e[7];let c;return e[8]!==s||e[9]!==o||e[10]!==l?(c=n.jsxs(sr,{"data-slot":"drawer-portal",children:[i,n.jsxs(_e.Content,{"data-slot":"drawer-content",className:l,...o,children:[a,s]})]}),e[8]=s,e[9]=o,e[10]=l,e[11]=c):c=e[11],c}function or(t){const e=w.c(8);let s,r;e[0]!==t?({className:s,...r}=t,e[0]=t,e[1]=s,e[2]=r):(s=e[1],r=e[2]);let o;e[3]!==s?(o=_("flex flex-col gap-1.5 px-4 py-2",s),e[3]=s,e[4]=o):o=e[4];let i;return e[5]!==r||e[6]!==o?(i=n.jsx("div",{"data-slot":"drawer-header",className:o,...r}),e[5]=r,e[6]=o,e[7]=i):i=e[7],i}function ir(t){const e=w.c(8);let s,r;e[0]!==t?({className:s,...r}=t,e[0]=t,e[1]=s,e[2]=r):(s=e[1],r=e[2]);let o;e[3]!==s?(o=_("text-foreground font-semibold",s),e[3]=s,e[4]=o):o=e[4];let i;return e[5]!==r||e[6]!==o?(i=n.jsx(_e.Title,{"data-slot":"drawer-title",className:o,...r}),e[5]=r,e[6]=o,e[7]=i):i=e[7],i}const Zt=N.createContext({setOpen:()=>{}}),lr=()=>N.useContext(Zt),ar=t=>{const e=w.c(25);let s,r,o,i,l;e[0]!==t?({children:s,defaultOpen:r,open:i,onOpenChange:o,...l}=t,e[0]=t,e[1]=s,e[2]=r,e[3]=o,e[4]=i,e[5]=l):(s=e[1],r=e[2],o=e[3],i=e[4],l=e[5]);const a=r??!1;let c;e[6]!==o||e[7]!==i||e[8]!==a?(c={prop:i,defaultProp:a,onChange:o},e[6]=o,e[7]=i,e[8]=a,e[9]=c):c=e[9];const[d,m]=Xn(c);let f;e[10]!==m?(f={setOpen:m},e[10]=m,e[11]=f):f=e[11];let u;e[12]!==s||e[13]!==d||e[14]!==l||e[15]!==m?(u=n.jsx(er,{open:d,onOpenChange:m,...l,children:s}),e[12]=s,e[13]=d,e[14]=l,e[15]=m,e[16]=u):u=e[16];let p;e[17]!==d||e[18]!==l||e[19]!==m||e[20]!==u?(p=n.jsx(Vs,{open:d,onOpenChange:m,...l,children:u}),e[17]=d,e[18]=l,e[19]=m,e[20]=u,e[21]=p):p=e[21];let x;return e[22]!==f||e[23]!==p?(x=n.jsx(Zt.Provider,{value:f,children:p}),e[22]=f,e[23]=p,e[24]=x):x=e[24],x},cr=t=>{const{children:e,title:s,...r}=t,o=$e(),{className:i,...l}=r;return o?n.jsxs(rr,{...l,children:[n.jsx(or,{className:"hidden",children:n.jsx(ir,{children:s})}),n.jsx("div",{className:_("flex flex-col gap-2 p-2 py-4",i),children:e})]}):n.jsx(Fs,{...r,children:e})},dr=t=>{const{children:e,...s}=t,{setOpen:r}=lr(),o=$e(),{className:i,...l}=s;return o?n.jsx("div",{...l,onClick:a=>{r(!1);const{onClick:c}=l;c?.(a)},className:_("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-lg px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",i),children:e}):n.jsx(Gs,{...s,children:e})},mr=t=>{const e=w.c(7);let s,r;e[0]!==t?({children:s,...r}=t,e[0]=t,e[1]=s,e[2]=r):(s=e[1],r=e[2]);const o=$e();let i;return e[3]!==s||e[4]!==o||e[5]!==r?(i=o?n.jsx(tr,{asChild:!0,children:s}):n.jsx(Ws,{...r,children:s}),e[3]=s,e[4]=o,e[5]=r,e[6]=i):i=e[6],i},fr=t=>{const e=w.c(7);let s,r;e[0]!==t?({className:s,...r}=t,e[0]=t,e[1]=s,e[2]=r):(s=e[1],r=e[2]);const o=$e();let i;return e[3]!==s||e[4]!==o||e[5]!==r?(i=o?n.jsx(st,{className:_(s),...r}):n.jsx(st,{className:_(s),...r}),e[3]=s,e[4]=o,e[5]=r,e[6]=i):i=e[6],i};function ur(t){const e=w.c(11),{user:s,trigger:r,align:o,children:i}=t,l=o===void 0?"start":o;let a;e[0]!==r||e[1]!==s?(a=r(s),e[0]=r,e[1]=s,e[2]=a):a=e[2];let c;e[3]!==a?(c=n.jsx(mr,{asChild:!0,children:n.jsx("div",{children:a})}),e[3]=a,e[4]=c):c=e[4];let d;e[5]!==l||e[6]!==i?(d=n.jsx(cr,{side:"top",align:l,className:"md:w-[240px]",children:i}),e[5]=l,e[6]=i,e[7]=d):d=e[7];let m;return e[8]!==c||e[9]!==d?(m=n.jsxs(ar,{children:[c,d]}),e[8]=c,e[9]=d,e[10]=m):m=e[10],m}function pr(t){const e=w.c(8),{children:s,onClick:r,className:o,asChild:i}=t;let l;e[0]!==i||e[1]!==s||e[2]!==r?(l=i?s:n.jsx("button",{type:"button",className:"flex items-center gap-2 text-sm w-full cursor-pointer",onClick:r,children:s}),e[0]=i,e[1]=s,e[2]=r,e[3]=l):l=e[3];let a;return e[4]!==i||e[5]!==o||e[6]!==l?(a=n.jsx(dr,{asChild:i,className:o,children:l}),e[4]=i,e[5]=o,e[6]=l,e[7]=a):a=e[7],a}function hr(t){const e=w.c(2),{className:s}=t;let r;return e[0]!==s?(r=n.jsx(fr,{className:s}),e[0]=s,e[1]=r):r=e[1],r}function xr(){const t=w.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=n.jsx("div",{className:"w-8 h-8 bg-muted rounded-full animate-pulse"}),t[0]=e):e=t[0],e}const oe=Object.assign(ur,{Item:pr,Separator:hr,Skeleton:xr});function gr(t){const e=w.c(49),{user:s,userImage:r}=t,[o,i]=N.useState(!1),[l,a]=N.useState(!1);let c;e[0]!==s.email||e[1]!==s.id||e[2]!==s.name?(c=()=>{const R=`ID: ${s.id}
4
- Name: ${s.name||"N/A"}
5
- Email: ${s.email}`;navigator.clipboard.writeText(R),a(!0),ie.success("User info copied to clipboard"),setTimeout(()=>a(!1),2e3)},e[0]=s.email,e[1]=s.id,e[2]=s.name,e[3]=c):c=e[3];const d=c;let m;e[4]!==s.email||e[5]!==s.name||e[6]!==r?(m=()=>n.jsx(le,{url:r,fallback:s.name||s.email||"U",shape:"circle",size:"sm",className:"cursor-pointer hover:ring-2 ring-muted-foreground transition-all h-7 w-7"}),e[4]=s.email,e[5]=s.name,e[6]=r,e[7]=m):m=e[7];const f=s.name||s.email||"U";let u;e[8]!==f||e[9]!==r?(u=n.jsx(le,{url:r,fallback:f,shape:"circle",size:"sm"}),e[8]=f,e[9]=r,e[10]=u):u=e[10];const p=s.name||"User";let x;e[11]!==p?(x=n.jsx("div",{className:"text-sm font-medium truncate",children:p}),e[11]=p,e[12]=x):x=e[12];let h;e[13]!==s.email?(h=n.jsx("div",{className:"text-xs text-muted-foreground truncate",children:s.email}),e[13]=s.email,e[14]=h):h=e[14];let b;e[15]!==x||e[16]!==h?(b=n.jsxs("div",{className:"flex-1 min-w-0 text-left",children:[x,h]}),e[15]=x,e[16]=h,e[17]=b):b=e[17];let g;e[18]!==l?(g=n.jsx("div",{className:"opacity-0 group-hover:opacity-100 transition-opacity shrink-0",children:l?n.jsx(De,{size:16,className:"text-green-600"}):n.jsx(bt,{size:16,className:"text-muted-foreground"})}),e[18]=l,e[19]=g):g=e[19];let j;e[20]!==u||e[21]!==b||e[22]!==g?(j=n.jsxs("div",{className:"group flex items-center gap-3 w-full py-1",children:[u,b,g]}),e[20]=u,e[21]=b,e[22]=g,e[23]=j):j=e[23];let v;e[24]!==d||e[25]!==j?(v=n.jsx(oe.Item,{onClick:d,children:j}),e[24]=d,e[25]=j,e[26]=v):v=e[26];let S;e[27]===Symbol.for("react.memo_cache_sentinel")?(S=n.jsx(oe.Separator,{}),e[27]=S):S=e[27];let C,y;e[28]===Symbol.for("react.memo_cache_sentinel")?(C=n.jsxs(oe.Item,{onClick:()=>i(!0),children:[n.jsx(Ks,{className:"text-muted-foreground",size:18}),"Profile Settings"]}),y=n.jsx(oe.Separator,{}),e[28]=C,e[29]=y):(C=e[28],y=e[29]);let z;e[30]===Symbol.for("react.memo_cache_sentinel")?(z=n.jsx(ot,{className:"w-4 h-4 text-muted-foreground"}),e[30]=z):z=e[30];let O;e[31]===Symbol.for("react.memo_cache_sentinel")?(O=n.jsx(oe.Item,{asChild:!0,children:n.jsxs("a",{href:"https://github.com/decocms/admin",target:"_blank",rel:"noopener noreferrer",className:"flex w-full items-center gap-2 text-sm cursor-pointer",children:[z,"decocms/admin",n.jsx(nt,{size:18,className:"text-muted-foreground ml-auto"})]})}),e[31]=O):O=e[31];let $;e[32]===Symbol.for("react.memo_cache_sentinel")?($=n.jsx($t,{className:"text-muted-foreground",size:18}),e[32]=$):$=e[32];let k,T;e[33]===Symbol.for("react.memo_cache_sentinel")?(k=n.jsx(oe.Item,{asChild:!0,children:n.jsxs("a",{href:"https://decocms.com",target:"_blank",rel:"noopener noreferrer",className:"flex w-full items-center gap-2 text-sm cursor-pointer",children:[$,"Homepage",n.jsx(nt,{size:18,className:"ml-auto text-muted-foreground"})]})}),T=n.jsx(oe.Separator,{}),e[33]=k,e[34]=T):(k=e[33],T=e[34]);let M,E,H;e[35]===Symbol.for("react.memo_cache_sentinel")?(M=n.jsxs(oe.Item,{onClick:br,children:[n.jsx(Ot,{size:18,className:"text-muted-foreground"}),"Log out"]}),E=n.jsx(oe.Separator,{}),H=n.jsxs("div",{className:"px-2 py-1.5 text-[11px] text-muted-foreground/60",children:["Mesh v","2.82.0"]}),e[35]=M,e[36]=E,e[37]=H):(M=e[35],E=e[36],H=e[37]);let L;e[38]!==v||e[39]!==m||e[40]!==s?(L=n.jsxs(oe,{user:s,trigger:m,align:"end",children:[v,S,C,y,O,k,T,M,E,H]}),e[38]=v,e[39]=m,e[40]=s,e[41]=L):L=e[41];let P;e[42]!==o||e[43]!==s||e[44]!==r?(P=o&&n.jsx(Bt,{open:o,onOpenChange:i,user:s,userImage:r}),e[42]=o,e[43]=s,e[44]=r,e[45]=P):P=e[45];let A;return e[46]!==L||e[47]!==P?(A=n.jsxs(n.Fragment,{children:[L,P]}),e[46]=L,e[47]=P,e[48]=A):A=e[48],A}function br(){return re.signOut()}function jr(){const t=w.c(7),{data:e}=re.useSession();if(!e?.user){let c;return t[0]===Symbol.for("react.memo_cache_sentinel")?(c=n.jsx(le,{url:void 0,fallback:"U",shape:"circle",size:"sm",className:"cursor-pointer h-7 w-7",muted:!0}),t[0]=c):c=t[0],c}const s=e.user,r=s.name??void 0;let o;t[1]!==r||t[2]!==s?(o={...s,name:r},t[1]=r,t[2]=s,t[3]=o):o=t[3];const i=o,l=s.image;let a;return t[4]!==l||t[5]!==i?(a=n.jsx(gr,{user:i,userImage:l}),t[4]=l,t[5]=i,t[6]=a):a=t[6],a}function vr(){const t=w.c(2),s=Re().location.href;let r;return t[0]!==s?(r=n.jsx(is,{to:"/login",search:{next:s},replace:!0}),t[0]=s,t[1]=r):r=t[1],r}function wr(t){const e=w.c(6),{children:s}=t;let r;e[0]===Symbol.for("react.memo_cache_sentinel")?(r=n.jsx(ns,{children:n.jsx(lt,{})}),e[0]=r):r=e[0];let o;e[1]!==s?(o=n.jsx(rs,{children:s}),e[1]=s,e[2]=o):o=e[2];let i;e[3]===Symbol.for("react.memo_cache_sentinel")?(i=n.jsx(os,{children:n.jsx(vr,{})}),e[3]=i):i=e[3];let l;return e[4]!==o?(l=n.jsxs(n.Fragment,{children:[r,o,i]}),e[4]=o,e[5]=l):l=e[5],l}function Nr(t){const e=w.c(5),{children:s,className:r}=t;let o;e[0]!==r?(o=_("fixed top-0 left-0 right-0 z-20 bg-background flex items-center w-full h-12 border-b border-border",r),e[0]=r,e[1]=o):o=e[1];let i;return e[2]!==s||e[3]!==o?(i=n.jsx("div",{className:o,children:s}),e[2]=s,e[3]=o,e[4]=i):i=e[4],i}function Sr(t){const e=w.c(5),{children:s,className:r}=t;let o;e[0]!==r?(o=_("flex items-center justify-center px-2.5 h-full border-r border-border",r),e[0]=r,e[1]=o):o=e[1];let i;return e[2]!==s||e[3]!==o?(i=n.jsx("div",{className:o,children:s}),e[2]=s,e[3]=o,e[4]=i):i=e[4],i}function yr(t){const e=w.c(5),{children:s,className:r}=t;let o;e[0]!==r?(o=_("flex items-center gap-2 px-2 h-full",r),e[0]=r,e[1]=o):o=e[1];let i;return e[2]!==s||e[3]!==o?(i=n.jsx("div",{className:o,children:s}),e[2]=s,e[3]=o,e[4]=i):i=e[4],i}function Cr(t){const e=w.c(5),{children:s,className:r}=t;let o;e[0]!==r?(o=_("flex items-center gap-2 px-2 h-full flex-1",r),e[0]=r,e[1]=o):o=e[1];let i;return e[2]!==s||e[3]!==o?(i=n.jsx("div",{className:o,children:s}),e[2]=s,e[3]=o,e[4]=i):i=e[4],i}function kr(t){const e=w.c(5),{children:s,className:r}=t;let o;e[0]!==r?(o=_("flex items-center gap-2 px-2 h-full ml-auto",r),e[0]=r,e[1]=o):o=e[1];let i;return e[2]!==s||e[3]!==o?(i=n.jsx("div",{className:o,children:s}),e[2]=s,e[3]=o,e[4]=i):i=e[4],i}function _r(){const t=w.c(3);let e;t[0]===Symbol.for("react.memo_cache_sentinel")?(e=n.jsx("div",{className:"flex items-center justify-center px-2 h-full border-r border-border",children:n.jsx("div",{className:"w-8 h-8 bg-muted rounded-md animate-pulse"})}),t[0]=e):e=t[0];let s;t[1]===Symbol.for("react.memo_cache_sentinel")?(s=n.jsx("div",{className:"flex items-center gap-2 px-2 h-full",children:n.jsx("div",{className:"w-32 h-6 bg-muted rounded-md animate-pulse"})}),t[1]=s):s=t[1];let r;return t[2]===Symbol.for("react.memo_cache_sentinel")?(r=n.jsxs("div",{className:"fixed top-0 left-0 right-0 z-20 bg-background flex items-center w-full h-12 border-b border-border",children:[e,s,n.jsx("div",{className:"flex items-center gap-2 px-2 h-full ml-auto",children:n.jsx("div",{className:"w-8 h-8 bg-muted rounded-full animate-pulse"})})]}),t[2]=r):r=t[2],r}const Pe=Object.assign(Nr,{Sidebar:Sr,Left:yr,Center:Cr,Right:kr,Skeleton:_r});function Yt(){const t=w.c(3),{toggleSidebar:e}=Ue();let s;t[0]===Symbol.for("react.memo_cache_sentinel")?(s=n.jsx(It,{className:"text-muted-foreground/85 group-hover:text-foreground transition-colors",size:18}),t[0]=s):s=t[0];let r;return t[1]!==e?(r=n.jsx(n.Fragment,{children:n.jsx(X,{onClick:e,size:"icon",variant:"ghost",className:"w-7 h-7 rounded-md",children:s})}),t[1]=e,t[2]=r):r=t[2],r}Yt.Skeleton=function(){return n.jsx("div",{className:"w-7 h-7 bg-muted rounded-md animate-pulse"})};function zr({showSidebarToggle:t=!1,showOrgSwitcher:e=!1,showDecoChat:s=!1,disableDecoChat:r=!1}){const[o,i]=He(),l=N.useRef(r);r&&o&&l.current!==r&&i(!1),l.current=r;const a=()=>{r||i(c=>!c)};return n.jsxs(Pe,{children:[t&&n.jsx(Pe.Sidebar,{children:n.jsx(Yt,{})}),n.jsx(Pe.Left,{children:e&&n.jsx(N.Suspense,{fallback:n.jsx(Ze.Skeleton,{}),children:n.jsx(Ze,{})})}),n.jsxs(Pe.Right,{className:"gap-2",children:[s&&!r&&n.jsxs(X,{size:"sm",variant:"default",onClick:a,className:"h-7 gap-2",children:[n.jsx(mt,{size:16}),"Chat"]}),n.jsx(jr,{})]})]})}function $r(t){const e=w.c(10),{children:s,className:r}=t,[,o]=N.useTransition();let i;e[0]===Symbol.for("react.memo_cache_sentinel")?(i=wt.decoChatPanelWidth(),e[0]=i):i=e[0];const[l,a]=vt(i,30);let c;e[1]!==a?(c=u=>o(()=>a(u)),e[1]=a,e[2]=c):c=e[2];const d=c;let m;e[3]!==r?(m=_("min-w-0",r),e[3]=r,e[4]=m):m=e[4];let f;return e[5]!==l||e[6]!==s||e[7]!==d||e[8]!==m?(f=n.jsx(Nt,{defaultSize:l,minSize:20,className:m,onResize:d,children:s}),e[5]=l,e[6]=s,e[7]=d,e[8]=m,e[9]=f):f=e[9],f}function Ir(t){const e=w.c(5),{children:s}=t;let r;e[0]===Symbol.for("react.memo_cache_sentinel")?(r=wt.sidebarOpen(),e[0]=r):r=e[0];const[o,i]=vt(r,!0);let l;return e[1]!==s||e[2]!==i||e[3]!==o?(l=n.jsx(ln,{open:o,onOpenChange:i,children:s}),e[1]=s,e[2]=i,e[3]=o,e[4]=l):l=e[4],l}function Or(t){const e=w.c(6),{disableChat:s}=t,r=s===void 0?!1:s,[o]=He();let i;e[0]===Symbol.for("react.memo_cache_sentinel")?(i=n.jsx(Nt,{className:"bg-background",children:n.jsx(at,{})}),e[0]=i):i=e[0];let l;e[1]!==o||e[2]!==r?(l=!r&&n.jsxs(n.Fragment,{children:[n.jsx(Zs,{withHandle:o}),n.jsx($r,{className:_(o?"max-w-none":"max-w-0"),children:n.jsx(Js,{})})]}),e[1]=o,e[2]=r,e[3]=l):l=e[3];let a;return e[4]!==l?(a=n.jsxs(Ys,{direction:"horizontal",children:[i,l]}),e[4]=l,e[5]=a):a=e[5],a}function Tr(){const{org:t,project:e}=Ye({strict:!1}),s=Re(),[r,o]=N.useState(!1),i=s.location.pathname===`/${t}/${e}`||s.location.pathname===`/${t}/${e}/`,l=e??ne,{data:a}=ls({queryKey:as.activeOrganization(t),queryFn:async()=>{if(!t)return null;const{data:d}=await re.organization.setActive({organizationSlug:t});return{org:d,project:{slug:l,isOrgAdmin:l===ne}}},gcTime:1/0,staleTime:1/0,refetchOnWindowFocus:!1,refetchOnMount:!1});if(!a)return n.jsxs("div",{className:"min-h-screen bg-background",children:[n.jsx(zr,{}),n.jsx("div",{className:"pt-12",children:n.jsx(at,{})})]});if(!a.org)return window.location.pathname!=="/"&&(window.location.href="/"),null;const c={...a,project:{...a.project,slug:l,isOrgAdmin:l===ne}};return n.jsxs(cs,{...c,children:[n.jsx(Ir,{children:n.jsxs("div",{className:"flex flex-col h-screen",style:{"--project-topbar-height":l===ne?"0px":"48px"},children:[n.jsx("style",{children:`
6
- [data-slot="sidebar-container"] {
7
- top: 0 !important;
8
- }
9
- [data-slot="sidebar-inner"] {
10
- padding-top: 0 !important;
11
- }
12
- `}),n.jsx(te.Provider,{children:n.jsxs(dn,{className:"flex-1 bg-sidebar",style:{"--sidebar-width":"13rem","--sidebar-width-mobile":"11rem"},children:[n.jsx(En,{onCreateProject:()=>o(!0)}),n.jsx(fn,{className:"flex flex-col",children:n.jsxs(Bs,{children:[n.jsx(Jn,{}),n.jsx("div",{className:"flex-1 overflow-hidden",children:n.jsx(Or,{disableChat:i})})]})})]})})]})}),n.jsx(ys,{open:r,onOpenChange:o})]})}function Jo(){const t=w.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=n.jsx(wr,{children:n.jsx(N.Suspense,{fallback:n.jsx(lt,{}),children:n.jsx(Tr,{})})}),t[0]=e):e=t[0],e}export{Jo as default};
@@ -1 +0,0 @@
1
- import{I as u}from"./infiniteQueryObserver-BsFCOv8W.js";import{a5 as i}from"./index-DQ9TOjsi.js";function t(e,r){return i(e,u,r)}export{t as u};
@@ -1 +0,0 @@
1
- import{a5 as u,a8 as s}from"./index-DQ9TOjsi.js";function o(e,r){return u(e,s,r)}export{o as u};
@@ -1 +0,0 @@
1
- import{ac as a,ad as c}from"./index-DQ9TOjsi.js";function e(...r){return a(c(r))}export{e as c};