flujo-ai 3.23.0 → 3.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (258) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +47 -44
  3. package/.next/app-path-routes-manifest.json +7 -7
  4. package/.next/build-manifest.json +4 -4
  5. package/.next/routes-manifest.json +19 -1
  6. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  7. package/.next/server/app/_not-found.html +1 -1
  8. package/.next/server/app/_not-found.rsc +1 -1
  9. package/.next/server/app/api/approvals/[id]/route.js +1 -1
  10. package/.next/server/app/api/approvals/[id]/route.js.nft.json +1 -1
  11. package/.next/server/app/api/approvals/[id]/route_client-reference-manifest.js +1 -1
  12. package/.next/server/app/api/approvals/route.js +1 -1
  13. package/.next/server/app/api/approvals/route.js.nft.json +1 -1
  14. package/.next/server/app/api/approvals/route_client-reference-manifest.js +1 -1
  15. package/.next/server/app/api/backup/route.js.nft.json +1 -1
  16. package/.next/server/app/api/backup/route_client-reference-manifest.js +1 -1
  17. package/.next/server/app/api/browse/route_client-reference-manifest.js +1 -1
  18. package/.next/server/app/api/bugs/enhance/route.js +1 -1
  19. package/.next/server/app/api/bugs/enhance/route.js.nft.json +1 -1
  20. package/.next/server/app/api/bugs/enhance/route_client-reference-manifest.js +1 -1
  21. package/.next/server/app/api/cwd/route_client-reference-manifest.js +1 -1
  22. package/.next/server/app/api/encryption/secure/route.js +1 -1
  23. package/.next/server/app/api/encryption/secure/route.js.nft.json +1 -1
  24. package/.next/server/app/api/encryption/secure/route_client-reference-manifest.js +1 -1
  25. package/.next/server/app/api/env/route.js +1 -1
  26. package/.next/server/app/api/env/route_client-reference-manifest.js +1 -1
  27. package/.next/server/app/api/flow/[id]/route.js.nft.json +1 -1
  28. package/.next/server/app/api/flow/[id]/route_client-reference-manifest.js +1 -1
  29. package/.next/server/app/api/flow/compile/route.js +1 -1
  30. package/.next/server/app/api/flow/compile/route.js.nft.json +1 -1
  31. package/.next/server/app/api/flow/compile/route_client-reference-manifest.js +1 -1
  32. package/.next/server/app/api/flow/generate/route.js +1 -1
  33. package/.next/server/app/api/flow/generate/route.js.nft.json +1 -1
  34. package/.next/server/app/api/flow/generate/route_client-reference-manifest.js +1 -1
  35. package/.next/server/app/api/flow/improve/route.js +1 -1
  36. package/.next/server/app/api/flow/improve/route.js.nft.json +1 -1
  37. package/.next/server/app/api/flow/improve/route_client-reference-manifest.js +1 -1
  38. package/.next/server/app/api/flow/prompt-renderer/route.js +1 -1
  39. package/.next/server/app/api/flow/prompt-renderer/route.js.nft.json +1 -1
  40. package/.next/server/app/api/flow/prompt-renderer/route_client-reference-manifest.js +1 -1
  41. package/.next/server/app/api/flow/quick-chat/route.js +1 -1
  42. package/.next/server/app/api/flow/quick-chat/route.js.nft.json +1 -1
  43. package/.next/server/app/api/flow/quick-chat/route_client-reference-manifest.js +1 -1
  44. package/.next/server/app/api/flow/repair/route.js +1 -1
  45. package/.next/server/app/api/flow/repair/route.js.nft.json +1 -1
  46. package/.next/server/app/api/flow/repair/route_client-reference-manifest.js +1 -1
  47. package/.next/server/app/api/flow/route.js.nft.json +1 -1
  48. package/.next/server/app/api/flow/route_client-reference-manifest.js +1 -1
  49. package/.next/server/app/api/git/route_client-reference-manifest.js +1 -1
  50. package/.next/server/app/api/init/route.js +1 -1
  51. package/.next/server/app/api/init/route.js.nft.json +1 -1
  52. package/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
  53. package/.next/server/app/api/local-models/capability/route_client-reference-manifest.js +1 -1
  54. package/.next/server/app/api/local-models/pull/route_client-reference-manifest.js +1 -1
  55. package/.next/server/app/api/local-models/suggest/route_client-reference-manifest.js +1 -1
  56. package/.next/server/app/api/mcp/cancel/route.js +1 -1
  57. package/.next/server/app/api/mcp/cancel/route.js.nft.json +1 -1
  58. package/.next/server/app/api/mcp/cancel/route_client-reference-manifest.js +1 -1
  59. package/.next/server/app/api/mcp/servers/[name]/prompts/get/route.js +1 -1
  60. package/.next/server/app/api/mcp/servers/[name]/prompts/get/route.js.nft.json +1 -1
  61. package/.next/server/app/api/mcp/servers/[name]/prompts/get/route_client-reference-manifest.js +1 -1
  62. package/.next/server/app/api/mcp/servers/[name]/prompts/route.js +1 -1
  63. package/.next/server/app/api/mcp/servers/[name]/prompts/route.js.nft.json +1 -1
  64. package/.next/server/app/api/mcp/servers/[name]/prompts/route_client-reference-manifest.js +1 -1
  65. package/.next/server/app/api/mcp/servers/[name]/resources/read/route.js +1 -1
  66. package/.next/server/app/api/mcp/servers/[name]/resources/read/route.js.nft.json +1 -1
  67. package/.next/server/app/api/mcp/servers/[name]/resources/read/route_client-reference-manifest.js +1 -1
  68. package/.next/server/app/api/mcp/servers/[name]/resources/route.js +1 -1
  69. package/.next/server/app/api/mcp/servers/[name]/resources/route.js.nft.json +1 -1
  70. package/.next/server/app/api/mcp/servers/[name]/resources/route_client-reference-manifest.js +1 -1
  71. package/.next/server/app/api/mcp/servers/[name]/route.js +1 -1
  72. package/.next/server/app/api/mcp/servers/[name]/route.js.nft.json +1 -1
  73. package/.next/server/app/api/mcp/servers/[name]/route_client-reference-manifest.js +1 -1
  74. package/.next/server/app/api/mcp/servers/[name]/status/route.js +1 -1
  75. package/.next/server/app/api/mcp/servers/[name]/status/route.js.nft.json +1 -1
  76. package/.next/server/app/api/mcp/servers/[name]/status/route_client-reference-manifest.js +1 -1
  77. package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route.js +1 -1
  78. package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route.js.nft.json +1 -1
  79. package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route_client-reference-manifest.js +1 -1
  80. package/.next/server/app/api/mcp/servers/[name]/tools/route.js +1 -1
  81. package/.next/server/app/api/mcp/servers/[name]/tools/route.js.nft.json +1 -1
  82. package/.next/server/app/api/mcp/servers/[name]/tools/route_client-reference-manifest.js +1 -1
  83. package/.next/server/app/api/mcp/servers/route.js +1 -1
  84. package/.next/server/app/api/mcp/servers/route.js.nft.json +1 -1
  85. package/.next/server/app/api/mcp/servers/route_client-reference-manifest.js +1 -1
  86. package/.next/server/app/api/mcp/test-connection/route.js +1 -1
  87. package/.next/server/app/api/mcp/test-connection/route.js.nft.json +1 -1
  88. package/.next/server/app/api/mcp/test-connection/route_client-reference-manifest.js +1 -1
  89. package/.next/server/app/api/mcp/test-connection/stream/route.js +1 -1
  90. package/.next/server/app/api/mcp/test-connection/stream/route.js.nft.json +1 -1
  91. package/.next/server/app/api/mcp/test-connection/stream/route_client-reference-manifest.js +1 -1
  92. package/.next/server/app/api/mcp-registry/route.js +1 -1
  93. package/.next/server/app/api/mcp-registry/route.js.nft.json +1 -1
  94. package/.next/server/app/api/mcp-registry/route_client-reference-manifest.js +1 -1
  95. package/.next/server/app/api/mcp-registry/spotlight/route_client-reference-manifest.js +1 -1
  96. package/.next/server/app/api/model/[id]/route.js +1 -1
  97. package/.next/server/app/api/model/[id]/route.js.nft.json +1 -1
  98. package/.next/server/app/api/model/[id]/route_client-reference-manifest.js +1 -1
  99. package/.next/server/app/api/model/provider/route.js +1 -1
  100. package/.next/server/app/api/model/provider/route.js.nft.json +1 -1
  101. package/.next/server/app/api/model/provider/route_client-reference-manifest.js +1 -1
  102. package/.next/server/app/api/model/route.js +1 -1
  103. package/.next/server/app/api/model/route.js.nft.json +1 -1
  104. package/.next/server/app/api/model/route_client-reference-manifest.js +1 -1
  105. package/.next/server/app/api/model/test/route.js +1 -1
  106. package/.next/server/app/api/model/test/route.js.nft.json +1 -1
  107. package/.next/server/app/api/model/test/route_client-reference-manifest.js +1 -1
  108. package/.next/server/app/api/oauth/callback/route_client-reference-manifest.js +1 -1
  109. package/.next/server/app/api/oauth/initiate/route_client-reference-manifest.js +1 -1
  110. package/.next/server/app/api/oauth/reset/route.js +1 -1
  111. package/.next/server/app/api/oauth/reset/route.js.nft.json +1 -1
  112. package/.next/server/app/api/oauth/reset/route_client-reference-manifest.js +1 -1
  113. package/.next/server/app/api/planned-executions/[id]/route.js.nft.json +1 -1
  114. package/.next/server/app/api/planned-executions/[id]/route_client-reference-manifest.js +1 -1
  115. package/.next/server/app/api/planned-executions/[id]/run/route.js.nft.json +1 -1
  116. package/.next/server/app/api/planned-executions/[id]/run/route_client-reference-manifest.js +1 -1
  117. package/.next/server/app/api/planned-executions/[id]/runs/route.js.nft.json +1 -1
  118. package/.next/server/app/api/planned-executions/[id]/runs/route_client-reference-manifest.js +1 -1
  119. package/.next/server/app/api/planned-executions/preview-schedule/route_client-reference-manifest.js +1 -1
  120. package/.next/server/app/api/planned-executions/reconcile/route.js +1 -1
  121. package/.next/server/app/api/planned-executions/reconcile/route.js.nft.json +1 -1
  122. package/.next/server/app/api/planned-executions/reconcile/route_client-reference-manifest.js +1 -1
  123. package/.next/server/app/api/planned-executions/route.js +1 -1
  124. package/.next/server/app/api/planned-executions/route.js.nft.json +1 -1
  125. package/.next/server/app/api/planned-executions/route_client-reference-manifest.js +1 -1
  126. package/.next/server/app/api/restore/route.js.nft.json +1 -1
  127. package/.next/server/app/api/restore/route_client-reference-manifest.js +1 -1
  128. package/.next/server/app/api/runs/active/route.js +1 -1
  129. package/.next/server/app/api/runs/active/route.js.nft.json +1 -1
  130. package/.next/server/app/api/runs/active/route_client-reference-manifest.js +1 -1
  131. package/.next/server/app/api/storage/route_client-reference-manifest.js +1 -1
  132. package/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
  133. package/.next/server/app/api/waves/route.js +1 -1
  134. package/.next/server/app/api/waves/route.js.nft.json +1 -1
  135. package/.next/server/app/api/waves/route_client-reference-manifest.js +1 -1
  136. package/.next/server/app/api/webhooks/[id]/route.js +1 -1
  137. package/.next/server/app/api/webhooks/[id]/route.js.nft.json +1 -1
  138. package/.next/server/app/api/webhooks/[id]/route_client-reference-manifest.js +1 -1
  139. package/.next/server/app/chat/page.js +8 -8
  140. package/.next/server/app/chat/page.js.nft.json +1 -1
  141. package/.next/server/app/chat/page_client-reference-manifest.js +1 -1
  142. package/.next/server/app/chat.html +1 -1
  143. package/.next/server/app/chat.rsc +2 -2
  144. package/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  145. package/.next/server/app/docs.html +1 -1
  146. package/.next/server/app/docs.rsc +1 -1
  147. package/.next/server/app/executions/page_client-reference-manifest.js +1 -1
  148. package/.next/server/app/executions.html +1 -1
  149. package/.next/server/app/executions.rsc +1 -1
  150. package/.next/server/app/flows/page.js +1 -1
  151. package/.next/server/app/flows/page.js.nft.json +1 -1
  152. package/.next/server/app/flows/page_client-reference-manifest.js +1 -1
  153. package/.next/server/app/flows.html +1 -1
  154. package/.next/server/app/flows.rsc +2 -2
  155. package/.next/server/app/index.html +1 -1
  156. package/.next/server/app/index.rsc +1 -1
  157. package/.next/server/app/mcp/page.js +2 -2
  158. package/.next/server/app/mcp/page.js.nft.json +1 -1
  159. package/.next/server/app/mcp/page_client-reference-manifest.js +1 -1
  160. package/.next/server/app/mcp-flows/route.js +1 -1
  161. package/.next/server/app/mcp-flows/route.js.nft.json +1 -1
  162. package/.next/server/app/mcp-flows/route_client-reference-manifest.js +1 -1
  163. package/.next/server/app/mcp-proxy/[server]/route.js +1 -1
  164. package/.next/server/app/mcp-proxy/[server]/route.js.nft.json +1 -1
  165. package/.next/server/app/mcp-proxy/[server]/route_client-reference-manifest.js +1 -1
  166. package/.next/server/app/mcp.html +1 -1
  167. package/.next/server/app/mcp.rsc +2 -2
  168. package/.next/server/app/models/page.js +1 -1
  169. package/.next/server/app/models/page.js.nft.json +1 -1
  170. package/.next/server/app/models/page_client-reference-manifest.js +1 -1
  171. package/.next/server/app/page_client-reference-manifest.js +1 -1
  172. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  173. package/.next/server/app/settings.html +1 -1
  174. package/.next/server/app/settings.rsc +1 -1
  175. package/.next/server/app/v1/chat/completions/route.js +1 -1
  176. package/.next/server/app/v1/chat/completions/route.js.nft.json +1 -1
  177. package/.next/server/app/v1/chat/completions/route_client-reference-manifest.js +1 -1
  178. package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route.js +2 -2
  179. package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route.js.nft.json +1 -1
  180. package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route_client-reference-manifest.js +1 -1
  181. package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route.js +2 -2
  182. package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route.js.nft.json +1 -1
  183. package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route_client-reference-manifest.js +1 -1
  184. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route.js +1 -1
  185. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route.js.nft.json +1 -1
  186. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route_client-reference-manifest.js +1 -1
  187. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route.js +1 -1
  188. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route.js.nft.json +1 -1
  189. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route_client-reference-manifest.js +1 -1
  190. package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route.js +2 -2
  191. package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route.js.nft.json +1 -1
  192. package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route_client-reference-manifest.js +1 -1
  193. package/.next/server/app/v1/chat/conversations/[conversationId]/events/route.js +1 -1
  194. package/.next/server/app/v1/chat/conversations/[conversationId]/events/route.js.nft.json +1 -1
  195. package/.next/server/app/v1/chat/conversations/[conversationId]/events/route_client-reference-manifest.js +1 -1
  196. package/.next/server/app/v1/chat/conversations/[conversationId]/resources/route_client-reference-manifest.js +1 -1
  197. package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route.js +1 -1
  198. package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route.js.nft.json +1 -1
  199. package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route_client-reference-manifest.js +1 -1
  200. package/.next/server/app/v1/chat/conversations/[conversationId]/route.js +2 -2
  201. package/.next/server/app/v1/chat/conversations/[conversationId]/route.js.nft.json +1 -1
  202. package/.next/server/app/v1/chat/conversations/[conversationId]/route_client-reference-manifest.js +1 -1
  203. package/.next/server/app/v1/chat/conversations/route.js +2 -2
  204. package/.next/server/app/v1/chat/conversations/route.js.nft.json +1 -1
  205. package/.next/server/app/v1/chat/conversations/route_client-reference-manifest.js +1 -1
  206. package/.next/server/app/v1/models/route.js +1 -1
  207. package/.next/server/app/v1/models/route.js.nft.json +1 -1
  208. package/.next/server/app/v1/models/route_client-reference-manifest.js +1 -1
  209. package/.next/server/app/waves/page_client-reference-manifest.js +1 -1
  210. package/.next/server/app/waves.html +1 -1
  211. package/.next/server/app/waves.rsc +1 -1
  212. package/.next/server/app-paths-manifest.json +7 -7
  213. package/.next/server/chunks/{1556.js → 2998.js} +1 -1
  214. package/.next/server/chunks/3291.js +1 -0
  215. package/.next/server/chunks/3823.js +5 -4
  216. package/.next/server/chunks/4545.js +17 -0
  217. package/.next/server/chunks/4561.js +5 -4
  218. package/.next/server/chunks/4771.js +2 -2
  219. package/.next/server/chunks/701.js +1 -1
  220. package/.next/server/chunks/7362.js +4 -4
  221. package/.next/server/chunks/7506.js +1 -1
  222. package/.next/server/chunks/7723.js +1 -0
  223. package/.next/server/chunks/7821.js +1 -1
  224. package/.next/server/chunks/8652.js +1 -1
  225. package/.next/server/edge-instrumentation.js +2 -0
  226. package/.next/server/edge-instrumentation.js.map +1 -0
  227. package/.next/server/edge-runtime-webpack.js +2 -0
  228. package/.next/server/edge-runtime-webpack.js.map +1 -0
  229. package/.next/server/functions-config-manifest.json +2 -2
  230. package/.next/server/middleware-build-manifest.js +1 -1
  231. package/.next/server/middleware-manifest.json +33 -2
  232. package/.next/server/pages/404.html +1 -1
  233. package/.next/server/pages/500.html +1 -1
  234. package/.next/server/server-reference-manifest.js +1 -1
  235. package/.next/server/server-reference-manifest.json +1 -1
  236. package/.next/server/src/middleware.js +14 -0
  237. package/.next/server/src/middleware.js.map +1 -0
  238. package/.next/static/chunks/3454-a8db9caba457e5fa.js +1 -0
  239. package/.next/static/chunks/3730-149f2f058529f75f.js +1 -0
  240. package/.next/static/chunks/4749-f8796d16ff604d54.js +1 -0
  241. package/.next/static/chunks/{6730-c330b55cd0fe4f47.js → 6257-ee5d8d88050d7705.js} +1 -1
  242. package/.next/static/chunks/{9181-8d8ecd3f641b7209.js → 8611-f6d51119761d52ff.js} +3 -3
  243. package/.next/static/chunks/app/chat/page-6a5b5f9ea2542fb3.js +1 -0
  244. package/.next/static/chunks/app/flows/{page-1844e86dd43fa285.js → page-fbce5abe34500f28.js} +1 -1
  245. package/.next/static/chunks/app/mcp/{page-b6866f49f76a6801.js → page-8666173926cabf31.js} +1 -1
  246. package/.next/static/chunks/app/models/{page-5a13ea6ff5ac1b9c.js → page-18dbd8e01cf87e98.js} +1 -1
  247. package/.next/static/chunks/{main-be8e823624954fab.js → main-9bda5041078d2b6a.js} +1 -1
  248. package/.next/trace +8 -8
  249. package/README.md +1 -1
  250. package/next.config.mjs +139 -119
  251. package/package.json +1 -1
  252. package/.next/server/chunks/264.js +0 -17
  253. package/.next/server/chunks/8357.js +0 -1
  254. package/.next/static/chunks/5545-2ab6e5d749e103cd.js +0 -1
  255. package/.next/static/chunks/6920-a83ad5c0d5a54cf3.js +0 -1
  256. package/.next/static/chunks/app/chat/page-ea6752144d35c892.js +0 -1
  257. /package/.next/static/{WRUzIBdypUJvv0xAct8qc → eUM7C1boixGI469h5wtIk}/_buildManifest.js +0 -0
  258. /package/.next/static/{WRUzIBdypUJvv0xAct8qc → eUM7C1boixGI469h5wtIk}/_ssgManifest.js +0 -0
@@ -1,4 +1,4 @@
1
- (()=>{var a={};a.id=313,a.ids=[313],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},578:(a,b,c)=>{Promise.resolve().then(c.bind(c,51016))},1708:a=>{"use strict";a.exports=require("node:process")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},9863:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(27080),e=c(21124);let f=(0,d.A)((0,e.jsx)("path",{d:"m11.99 18.54-7.37-5.73L3 14.07l9 7 9-7-1.63-1.27zM12 16l7.36-5.73L21 9l-9-7-9 7 1.63 1.27z"}),"Layers")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},11402:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(27080),e=c(21124);let f=(0,d.A)((0,e.jsx)("path",{d:"M14.94 4.66h-4.72l2.36-2.36zm-4.69 14.71h4.66l-2.33 2.33zM6.1 6.27 1.6 17.73h1.84l.92-2.45h5.11l.92 2.45h1.84L7.74 6.27zm-1.13 7.37 1.94-5.18 1.94 5.18zm10.76 2.5h6.12v1.59h-8.53v-1.29l5.92-8.56h-5.88v-1.6h8.3v1.26z"}),"SortByAlpha")},15059:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(27080),e=c(21124);let f=(0,d.A)((0,e.jsx)("path",{d:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2m6.93 6h-2.95c-.32-1.25-.78-2.45-1.38-3.56 1.84.63 3.37 1.91 4.33 3.56M12 4.04c.83 1.2 1.48 2.53 1.91 3.96h-3.82c.43-1.43 1.08-2.76 1.91-3.96M4.26 14C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2zm.82 2h2.95c.32 1.25.78 2.45 1.38 3.56-1.84-.63-3.37-1.9-4.33-3.56m2.95-8H5.08c.96-1.66 2.49-2.93 4.33-3.56C8.81 5.55 8.35 6.75 8.03 8M12 19.96c-.83-1.2-1.48-2.53-1.91-3.96h3.82c-.43 1.43-1.08 2.76-1.91 3.96M14.34 14H9.66c-.09-.66-.16-1.32-.16-2s.07-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2m.25 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95c-.96 1.65-2.49 2.93-4.33 3.56M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2z"}),"Language")},18730:(a,b,c)=>{Promise.resolve().then(c.bind(c,96369))},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},26713:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/is-bot")},28354:a=>{"use strict";a.exports=require("util")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31411:(a,b,c)=>{"use strict";c.d(b,{A:()=>o});var d=c(21124),e=c(38301),f=c(79515),g=c(81637),h=c(95587),i=c(67191),j=c(82605),k=c(98256),l=c(7675),m=c(94367),n=c(37674);let o=({schema:a,values:b,onChange:c,size:o="small"})=>{let[p,q]=(0,e.useState)({}),r=a?.properties??{},s=Array.isArray(a?.required)?a.required:[],t=Object.keys(r);if(0===t.length)return(0,d.jsx)(f.default,{variant:"body2",color:"text.secondary",children:"This tool takes no parameters."});let u=(a,d)=>{let e={...b};void 0===d?delete e[a]:e[a]=d,c(e)};return(0,d.jsx)(g.default,{sx:{display:"flex",flexDirection:"column",gap:2},children:t.map(a=>{let c=r[a]??{},e=s.includes(a)?`${a} *`:a,t="string"==typeof c.description?c.description:"";if("boolean"===c.type)return(0,d.jsx)(h.A,{control:(0,d.jsx)(i.A,{size:o,checked:!0===b[a],onChange:b=>u(a,b.target.checked)}),label:(0,d.jsxs)(g.default,{children:[(0,d.jsx)(f.default,{variant:"body2",children:e}),t&&(0,d.jsx)(f.default,{variant:"caption",color:"text.secondary",children:t})]})},a);if(Array.isArray(c.enum)&&c.enum.length>0){let g=b[a];return(0,d.jsxs)(j.A,{size:o,fullWidth:!0,children:[(0,d.jsx)(k.A,{id:`schema-param-${a}`,children:e}),(0,d.jsx)(l.A,{labelId:`schema-param-${a}`,label:e,value:c.enum.includes(g)?g:"",onChange:b=>u(a,b.target.value),children:c.enum.map(a=>(0,d.jsx)(m.A,{value:a,children:String(a)},String(a)))}),t&&(0,d.jsx)(f.default,{variant:"caption",color:"text.secondary",sx:{mt:.5,mx:1.75},children:t})]},a)}if("number"===c.type||"integer"===c.type)return(0,d.jsx)(n.A,{fullWidth:!0,size:o,type:"number",label:e,value:void 0!==b[a]?String(b[a]):"",onChange:b=>{let d=b.target.value;if(""===d)return void u(a,void 0);let e="integer"===c.type?parseInt(d,10):parseFloat(d);u(a,Number.isNaN(e)?void 0:e)},helperText:t},a);if("object"===c.type||"array"===c.type){let f=p[a]??(void 0!==b[a]?JSON.stringify(b[a],null,2):""),g=null;if(f.trim())try{JSON.parse(f)}catch{g="Not valid JSON yet"}return(0,d.jsx)(n.A,{fullWidth:!0,size:o,multiline:!0,minRows:2,label:`${e} (JSON ${c.type})`,value:f,error:!!g,helperText:g??t,onChange:b=>{let c=b.target.value;if(q(b=>({...b,[a]:c})),!c.trim())return void u(a,void 0);try{u(a,JSON.parse(c))}catch{}},slotProps:{input:{sx:{fontFamily:"monospace",fontSize:13}}}},a)}return(0,d.jsx)(n.A,{fullWidth:!0,size:o,label:e,value:void 0!==b[a]?String(b[a]):"",onChange:b=>u(a,""===b.target.value?void 0:b.target.value),helperText:t},a)})})}},33873:a=>{"use strict";a.exports=require("path")},35406:(a,b,c)=>{"use strict";c.d(b,{A:()=>x});var d=c(38301),e=c(43249),f=c(37489),g=c(2783),h=c(4007),i=c(6638),j=c(18168),k=c(60839),l=c(68333),m=c(54716),n=c(6636),o=c(79515),p=c(29565),q=c(33105);function r(a){return(0,q.Ay)("MuiLink",a)}let s=(0,p.A)("MuiLink",["root","underlineNone","underlineHover","underlineAlways","button","focusVisible"]);var t=c(97287),u=c(21124);let v={primary:!0,secondary:!0,error:!0,info:!0,success:!0,warning:!0,textPrimary:!0,textSecondary:!0,textDisabled:!0},w=(0,j.Ay)(o.default,{name:"MuiLink",slot:"Root",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[b.root,b[`underline${(0,i.A)(c.underline)}`],"button"===c.component&&b.button]}})((0,l.A)(({theme:a})=>({variants:[{props:{underline:"none"},style:{textDecoration:"none"}},{props:{underline:"hover"},style:{textDecoration:"none","&:hover":{textDecoration:"underline"}}},{props:{underline:"always"},style:{textDecoration:"underline","&:hover":{textDecorationColor:"inherit"}}},{props:({underline:a,ownerState:b})=>"always"===a&&"inherit"!==b.color,style:{textDecorationColor:"var(--Link-underlineColor)"}},...Object.entries(a.palette).filter((0,m.A)()).map(([b])=>({props:{underline:"always",color:b},style:{"--Link-underlineColor":a.vars?`rgba(${a.vars.palette[b].mainChannel} / 0.4)`:(0,f.X4)(a.palette[b].main,.4)}})),{props:{underline:"always",color:"textPrimary"},style:{"--Link-underlineColor":a.vars?`rgba(${a.vars.palette.text.primaryChannel} / 0.4)`:(0,f.X4)(a.palette.text.primary,.4)}},{props:{underline:"always",color:"textSecondary"},style:{"--Link-underlineColor":a.vars?`rgba(${a.vars.palette.text.secondaryChannel} / 0.4)`:(0,f.X4)(a.palette.text.secondary,.4)}},{props:{underline:"always",color:"textDisabled"},style:{"--Link-underlineColor":(a.vars||a).palette.text.disabled}},{props:{component:"button"},style:{position:"relative",WebkitTapHighlightColor:"transparent",backgroundColor:"transparent",outline:0,border:0,margin:0,borderRadius:0,padding:0,cursor:"pointer",userSelect:"none",verticalAlign:"middle",MozAppearance:"none",WebkitAppearance:"none","&::-moz-focus-inner":{borderStyle:"none"},[`&.${s.focusVisible}`]:{outline:"auto"}}}]}))),x=d.forwardRef(function(a,b){let c=(0,n.b)({props:a,name:"MuiLink"}),j=(0,k.A)(),{className:l,color:m="primary",component:o="a",onBlur:p,onFocus:q,TypographyClasses:s,underline:x="always",variant:y="inherit",sx:z,...A}=c,[B,C]=d.useState(!1),D={...c,color:m,component:o,focusVisible:B,underline:x,variant:y},E=(a=>{let{classes:b,component:c,focusVisible:d,underline:e}=a,f={root:["root",`underline${(0,i.A)(e)}`,"button"===c&&"button",d&&"focusVisible"]};return(0,g.A)(f,r,b)})(D);return(0,u.jsx)(w,{color:m,className:(0,e.A)(E.root,l),classes:s,component:o,onBlur:a=>{(0,h.A)(a.target)||C(!1),p&&p(a)},onFocus:a=>{(0,h.A)(a.target)&&C(!0),q&&q(a)},ref:b,ownerState:D,variant:y,...A,sx:[...void 0===v[m]?[{color:m}]:[],...Array.isArray(z)?z:[z]],style:{...A.style,..."always"===x&&"inherit"!==m&&!v[m]&&{"--Link-underlineColor":(({theme:a,ownerState:b})=>{let c=b.color,d=(0,t.Yn)(a,`palette.${c}.main`,!1)||(0,t.Yn)(a,`palette.${c}`,!1)||b.color,e=(0,t.Yn)(a,`palette.${c}.mainChannel`)||(0,t.Yn)(a,`palette.${c}Channel`);return"vars"in a&&e?`rgba(${e} / 0.4)`:(0,f.X4)(d,.4)})({theme:j,ownerState:D})}}})})},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},49066:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(27080),e=c(21124);let f=(0,d.A)((0,e.jsx)("path",{d:"M8 5v14l11-7z"}),"PlayArrow")},51016:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call the default export of \"C:\\\\Users\\\\MarioAndreschak\\\\Documents\\\\GitHub\\\\FLUJO\\\\src\\\\app\\\\mcp\\\\page.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\mcp\\page.tsx","default")},55511:a=>{"use strict";a.exports=require("crypto")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},63757:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(27080),e=c(21124);let f=(0,d.A)((0,e.jsx)("path",{d:"M3 18h6v-2H3zM3 6v2h18V6zm0 7h12v-2H3z"}),"Sort")},71472:(a,b,c)=>{"use strict";c.r(b),c.d(b,{GlobalError:()=>E.a,__next_app__:()=>K,handler:()=>M,pages:()=>J,routeModule:()=>L,tree:()=>I});var d=c(49754),e=c(9117),f=c(46595),g=c(32324),h=c(39326),i=c(38928),j=c(20175),k=c(12),l=c(54290),m=c(12696),n=c(52574),o=c(82802),p=c(77533),q=c(45229),r=c(32822),s=c(261),t=c(26453),u=c(52474),v=c(26713),w=c(51356),x=c(62685),y=c(36225),z=c(63446),A=c(2762),B=c(45742),C=c(86439),D=c(81170),E=c.n(D),F=c(62506),G=c(91203),H={};for(let a in F)0>["default","tree","pages","GlobalError","__next_app__","routeModule","handler"].indexOf(a)&&(H[a]=()=>F[a]);c.d(b,H);let I={children:["",{children:["mcp",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,51016)),"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\mcp\\page.tsx"]}]},{}]},{layout:[()=>Promise.resolve().then(c.bind(c,51472)),"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\layout.tsx"],"global-error":[()=>Promise.resolve().then(c.t.bind(c,81170,23)),"next/dist/client/components/builtin/global-error.js"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,87028,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,90461,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,32768,23)),"next/dist/client/components/builtin/unauthorized.js"]}]}.children,J=["C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\mcp\\page.tsx"],K={require:c,loadChunk:()=>Promise.resolve()},L=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/mcp/page",pathname:"/mcp",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:I},distDir:".next",relativeProjectDir:""});async function M(a,b,d){var D;let H="/mcp/page";"/index"===H&&(H="/");let N=(0,h.getRequestMeta)(a,"postponed"),O=(0,h.getRequestMeta)(a,"minimalMode"),P=await L.prepare(a,b,{srcPage:H,multiZoneDraftMode:!1});if(!P)return b.statusCode=400,b.end("Bad Request"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let{buildId:Q,query:R,params:S,parsedUrl:T,pageIsDynamic:U,buildManifest:V,nextFontManifest:W,reactLoadableManifest:X,serverActionsManifest:Y,clientReferenceManifest:Z,subresourceIntegrityManifest:$,prerenderManifest:_,isDraftMode:aa,resolvedPathname:ab,revalidateOnlyGenerated:ac,routerServerContext:ad,nextConfig:ae,interceptionRoutePatterns:af}=P,ag=T.pathname||"/",ah=(0,s.normalizeAppPath)(H),{isOnDemandRevalidate:ai}=P,aj=L.match(ag,_),ak=!!_.routes[ab],al=!!(aj||ak||_.routes[ah]),am=a.headers["user-agent"]||"",an=(0,v.getBotType)(am),ao=(0,q.isHtmlBotRequest)(a),ap=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[u.NEXT_ROUTER_PREFETCH_HEADER],aq=(0,h.getRequestMeta)(a,"isRSCRequest")??(0,n.f)(a.headers[u.RSC_HEADER]),ar=(0,t.getIsPossibleServerAction)(a),as=(0,m.checkIsAppPPREnabled)(ae.experimental.ppr)&&(null==(D=_.routes[ah]??_.dynamicRoutes[ah])?void 0:D.renderingMode)==="PARTIALLY_STATIC",at=!1,au=!1,av=as?N:void 0,aw=as&&aq&&!ap,ax=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),ay=!am||(0,q.shouldServeStreamingMetadata)(am,ae.htmlLimitedBots);ao&&as&&(al=!1,ay=!1);let az=!0===L.isDev||!al||"string"==typeof N||aw,aA=ao&&as,aB=null;aa||!al||az||ar||av||aw||(aB=ab);let aC=aB;!aC&&L.isDev&&(aC=ab),L.isDev||aa||!al||!aq||aw||(0,k.d)(a.headers);let aD={...F,tree:I,pages:J,GlobalError:E(),handler:M,routeModule:L,__next_app__:K};Y&&Z&&(0,p.setReferenceManifestsSingleton)({page:H,clientReferenceManifest:Z,serverActionsManifest:Y,serverModuleMap:(0,r.createServerModuleMap)({serverActionsManifest:Y})});let aE=a.method||"GET",aF=(0,g.getTracer)(),aG=aF.getActiveScopeSpan();try{let f=L.getVaryHeader(ab,af);b.setHeader("Vary",f);let k=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return L.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let d=aF.getRootSpanAttributes();if(!d)return;if(d.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${d.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=d.get("next.route");if(e){let a=`${aE} ${e}`;c.setAttributes({"next.route":e,"http.route":e,"next.span_name":a}),c.updateName(a)}else c.updateName(`${aE} ${a.url}`)})},m=async({span:e,postponed:f,fallbackRouteParams:g})=>{let i={query:R,params:S,page:ah,sharedContext:{buildId:Q},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aD,Component:(0,j.T)(aD),params:S,routeModule:L,page:H,postponed:f,shouldWaitOnAllReady:aA,serveStreamingMetadata:ay,supportsDynamicResponse:"string"==typeof f||az,buildManifest:V,nextFontManifest:W,reactLoadableManifest:X,subresourceIntegrityManifest:$,serverActionsManifest:Y,clientReferenceManifest:Z,setIsrStatus:null==ad?void 0:ad.setIsrStatus,dir:c(33873).join(process.cwd(),L.relativeProjectDir),isDraftMode:aa,isRevalidate:al&&!f&&!aw,botType:an,isOnDemandRevalidate:ai,isPossibleServerAction:ar,assetPrefix:ae.assetPrefix,nextConfigOutput:ae.output,crossOrigin:ae.crossOrigin,trailingSlash:ae.trailingSlash,previewProps:_.preview,deploymentId:ae.deploymentId,enableTainting:ae.experimental.taint,htmlLimitedBots:ae.htmlLimitedBots,devtoolSegmentExplorer:ae.experimental.devtoolSegmentExplorer,reactMaxHeadersLength:ae.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:ae.experimental.cacheLife,basePath:ae.basePath,serverActions:ae.experimental.serverActions,...at?{nextExport:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isRevalidate:!0,isDebugDynamicAccesses:at}:{},experimental:{isRoutePPREnabled:as,expireTime:ae.expireTime,staleTimes:ae.experimental.staleTimes,cacheComponents:!!ae.experimental.cacheComponents,clientSegmentCache:!!ae.experimental.clientSegmentCache,clientParamParsing:!!ae.experimental.clientParamParsing,dynamicOnHover:!!ae.experimental.dynamicOnHover,inlineCss:!!ae.experimental.inlineCss,authInterrupts:!!ae.experimental.authInterrupts,clientTraceMetadata:ae.experimental.clientTraceMetadata||[]},waitUntil:d.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d)=>L.onRequestError(a,b,d,ad),err:(0,h.getRequestMeta)(a,"invokeError"),dev:L.isDev}},l=await k(e,i),{metadata:m}=l,{cacheControl:n,headers:o={},fetchTags:p}=m;if(p&&(o[z.NEXT_CACHE_TAGS_HEADER]=p),a.fetchMetrics=m.fetchMetrics,al&&(null==n?void 0:n.revalidate)===0&&!L.isDev&&!as){let a=m.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${ab}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
1
+ (()=>{var a={};a.id=313,a.ids=[313],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},423:(a,b,c)=>{"use strict";c.d(b,{A:()=>s});var d=c(38301),e=c(43249),f=c(2783),g=c(18168),h=c(68333),i=c(6636),j=c(29565),k=c(33105);function l(a){return(0,k.Ay)("MuiCardActionArea",a)}let m=(0,j.A)("MuiCardActionArea",["root","focusVisible","focusHighlight"]);var n=c(14328),o=c(20385),p=c(21124);let q=(0,g.Ay)(n.A,{name:"MuiCardActionArea",slot:"Root",overridesResolver:(a,b)=>b.root})((0,h.A)(({theme:a})=>({display:"block",textAlign:"inherit",borderRadius:"inherit",width:"100%",[`&:hover .${m.focusHighlight}`]:{opacity:(a.vars||a).palette.action.hoverOpacity,"@media (hover: none)":{opacity:0}},[`&.${m.focusVisible} .${m.focusHighlight}`]:{opacity:(a.vars||a).palette.action.focusOpacity}}))),r=(0,g.Ay)("span",{name:"MuiCardActionArea",slot:"FocusHighlight",overridesResolver:(a,b)=>b.focusHighlight})((0,h.A)(({theme:a})=>({overflow:"hidden",pointerEvents:"none",position:"absolute",top:0,right:0,bottom:0,left:0,borderRadius:"inherit",opacity:0,backgroundColor:"currentcolor",transition:a.transitions.create("opacity",{duration:a.transitions.duration.short})}))),s=d.forwardRef(function(a,b){let c=(0,i.b)({props:a,name:"MuiCardActionArea"}),{children:d,className:g,focusVisibleClassName:h,slots:j={},slotProps:k={},...m}=c,n=(a=>{let{classes:b}=a;return(0,f.A)({root:["root"],focusHighlight:["focusHighlight"]},l,b)})(c),s={slots:j,slotProps:k},[t,u]=(0,o.A)("root",{elementType:q,externalForwardedProps:{...s,...m},shouldForwardComponentProp:!0,ownerState:c,ref:b,className:(0,e.A)(n.root,g),additionalProps:{focusVisibleClassName:(0,e.A)(h,n.focusVisible)}}),[v,w]=(0,o.A)("focusHighlight",{elementType:r,externalForwardedProps:s,ownerState:c,ref:b,className:n.focusHighlight});return(0,p.jsxs)(t,{...u,children:[d,(0,p.jsx)(v,{...w})]})})},578:(a,b,c)=>{Promise.resolve().then(c.bind(c,51016))},1708:a=>{"use strict";a.exports=require("node:process")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},9863:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(27080),e=c(21124);let f=(0,d.A)((0,e.jsx)("path",{d:"m11.99 18.54-7.37-5.73L3 14.07l9 7 9-7-1.63-1.27zM12 16l7.36-5.73L21 9l-9-7-9 7 1.63 1.27z"}),"Layers")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},11402:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(27080),e=c(21124);let f=(0,d.A)((0,e.jsx)("path",{d:"M14.94 4.66h-4.72l2.36-2.36zm-4.69 14.71h4.66l-2.33 2.33zM6.1 6.27 1.6 17.73h1.84l.92-2.45h5.11l.92 2.45h1.84L7.74 6.27zm-1.13 7.37 1.94-5.18 1.94 5.18zm10.76 2.5h6.12v1.59h-8.53v-1.29l5.92-8.56h-5.88v-1.6h8.3v1.26z"}),"SortByAlpha")},15059:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(27080),e=c(21124);let f=(0,d.A)((0,e.jsx)("path",{d:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2m6.93 6h-2.95c-.32-1.25-.78-2.45-1.38-3.56 1.84.63 3.37 1.91 4.33 3.56M12 4.04c.83 1.2 1.48 2.53 1.91 3.96h-3.82c.43-1.43 1.08-2.76 1.91-3.96M4.26 14C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2zm.82 2h2.95c.32 1.25.78 2.45 1.38 3.56-1.84-.63-3.37-1.9-4.33-3.56m2.95-8H5.08c.96-1.66 2.49-2.93 4.33-3.56C8.81 5.55 8.35 6.75 8.03 8M12 19.96c-.83-1.2-1.48-2.53-1.91-3.96h3.82c-.43 1.43-1.08 2.76-1.91 3.96M14.34 14H9.66c-.09-.66-.16-1.32-.16-2s.07-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2m.25 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95c-.96 1.65-2.49 2.93-4.33 3.56M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2z"}),"Language")},18730:(a,b,c)=>{Promise.resolve().then(c.bind(c,96369))},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},26713:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/is-bot")},28354:a=>{"use strict";a.exports=require("util")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31411:(a,b,c)=>{"use strict";c.d(b,{A:()=>o});var d=c(21124),e=c(38301),f=c(79515),g=c(81637),h=c(95587),i=c(67191),j=c(82605),k=c(98256),l=c(7675),m=c(94367),n=c(37674);let o=({schema:a,values:b,onChange:c,size:o="small"})=>{let[p,q]=(0,e.useState)({}),r=a?.properties??{},s=Array.isArray(a?.required)?a.required:[],t=Object.keys(r);if(0===t.length)return(0,d.jsx)(f.default,{variant:"body2",color:"text.secondary",children:"This tool takes no parameters."});let u=(a,d)=>{let e={...b};void 0===d?delete e[a]:e[a]=d,c(e)};return(0,d.jsx)(g.default,{sx:{display:"flex",flexDirection:"column",gap:2},children:t.map(a=>{let c=r[a]??{},e=s.includes(a)?`${a} *`:a,t="string"==typeof c.description?c.description:"";if("boolean"===c.type)return(0,d.jsx)(h.A,{control:(0,d.jsx)(i.A,{size:o,checked:!0===b[a],onChange:b=>u(a,b.target.checked)}),label:(0,d.jsxs)(g.default,{children:[(0,d.jsx)(f.default,{variant:"body2",children:e}),t&&(0,d.jsx)(f.default,{variant:"caption",color:"text.secondary",children:t})]})},a);if(Array.isArray(c.enum)&&c.enum.length>0){let g=b[a];return(0,d.jsxs)(j.A,{size:o,fullWidth:!0,children:[(0,d.jsx)(k.A,{id:`schema-param-${a}`,children:e}),(0,d.jsx)(l.A,{labelId:`schema-param-${a}`,label:e,value:c.enum.includes(g)?g:"",onChange:b=>u(a,b.target.value),children:c.enum.map(a=>(0,d.jsx)(m.A,{value:a,children:String(a)},String(a)))}),t&&(0,d.jsx)(f.default,{variant:"caption",color:"text.secondary",sx:{mt:.5,mx:1.75},children:t})]},a)}if("number"===c.type||"integer"===c.type)return(0,d.jsx)(n.A,{fullWidth:!0,size:o,type:"number",label:e,value:void 0!==b[a]?String(b[a]):"",onChange:b=>{let d=b.target.value;if(""===d)return void u(a,void 0);let e="integer"===c.type?parseInt(d,10):parseFloat(d);u(a,Number.isNaN(e)?void 0:e)},helperText:t},a);if("object"===c.type||"array"===c.type){let f=p[a]??(void 0!==b[a]?JSON.stringify(b[a],null,2):""),g=null;if(f.trim())try{JSON.parse(f)}catch{g="Not valid JSON yet"}return(0,d.jsx)(n.A,{fullWidth:!0,size:o,multiline:!0,minRows:2,label:`${e} (JSON ${c.type})`,value:f,error:!!g,helperText:g??t,onChange:b=>{let c=b.target.value;if(q(b=>({...b,[a]:c})),!c.trim())return void u(a,void 0);try{u(a,JSON.parse(c))}catch{}},slotProps:{input:{sx:{fontFamily:"monospace",fontSize:13}}}},a)}return(0,d.jsx)(n.A,{fullWidth:!0,size:o,label:e,value:void 0!==b[a]?String(b[a]):"",onChange:b=>u(a,""===b.target.value?void 0:b.target.value),helperText:t},a)})})}},33873:a=>{"use strict";a.exports=require("path")},35406:(a,b,c)=>{"use strict";c.d(b,{A:()=>x});var d=c(38301),e=c(43249),f=c(37489),g=c(2783),h=c(4007),i=c(6638),j=c(18168),k=c(60839),l=c(68333),m=c(54716),n=c(6636),o=c(79515),p=c(29565),q=c(33105);function r(a){return(0,q.Ay)("MuiLink",a)}let s=(0,p.A)("MuiLink",["root","underlineNone","underlineHover","underlineAlways","button","focusVisible"]);var t=c(97287),u=c(21124);let v={primary:!0,secondary:!0,error:!0,info:!0,success:!0,warning:!0,textPrimary:!0,textSecondary:!0,textDisabled:!0},w=(0,j.Ay)(o.default,{name:"MuiLink",slot:"Root",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[b.root,b[`underline${(0,i.A)(c.underline)}`],"button"===c.component&&b.button]}})((0,l.A)(({theme:a})=>({variants:[{props:{underline:"none"},style:{textDecoration:"none"}},{props:{underline:"hover"},style:{textDecoration:"none","&:hover":{textDecoration:"underline"}}},{props:{underline:"always"},style:{textDecoration:"underline","&:hover":{textDecorationColor:"inherit"}}},{props:({underline:a,ownerState:b})=>"always"===a&&"inherit"!==b.color,style:{textDecorationColor:"var(--Link-underlineColor)"}},...Object.entries(a.palette).filter((0,m.A)()).map(([b])=>({props:{underline:"always",color:b},style:{"--Link-underlineColor":a.vars?`rgba(${a.vars.palette[b].mainChannel} / 0.4)`:(0,f.X4)(a.palette[b].main,.4)}})),{props:{underline:"always",color:"textPrimary"},style:{"--Link-underlineColor":a.vars?`rgba(${a.vars.palette.text.primaryChannel} / 0.4)`:(0,f.X4)(a.palette.text.primary,.4)}},{props:{underline:"always",color:"textSecondary"},style:{"--Link-underlineColor":a.vars?`rgba(${a.vars.palette.text.secondaryChannel} / 0.4)`:(0,f.X4)(a.palette.text.secondary,.4)}},{props:{underline:"always",color:"textDisabled"},style:{"--Link-underlineColor":(a.vars||a).palette.text.disabled}},{props:{component:"button"},style:{position:"relative",WebkitTapHighlightColor:"transparent",backgroundColor:"transparent",outline:0,border:0,margin:0,borderRadius:0,padding:0,cursor:"pointer",userSelect:"none",verticalAlign:"middle",MozAppearance:"none",WebkitAppearance:"none","&::-moz-focus-inner":{borderStyle:"none"},[`&.${s.focusVisible}`]:{outline:"auto"}}}]}))),x=d.forwardRef(function(a,b){let c=(0,n.b)({props:a,name:"MuiLink"}),j=(0,k.A)(),{className:l,color:m="primary",component:o="a",onBlur:p,onFocus:q,TypographyClasses:s,underline:x="always",variant:y="inherit",sx:z,...A}=c,[B,C]=d.useState(!1),D={...c,color:m,component:o,focusVisible:B,underline:x,variant:y},E=(a=>{let{classes:b,component:c,focusVisible:d,underline:e}=a,f={root:["root",`underline${(0,i.A)(e)}`,"button"===c&&"button",d&&"focusVisible"]};return(0,g.A)(f,r,b)})(D);return(0,u.jsx)(w,{color:m,className:(0,e.A)(E.root,l),classes:s,component:o,onBlur:a=>{(0,h.A)(a.target)||C(!1),p&&p(a)},onFocus:a=>{(0,h.A)(a.target)&&C(!0),q&&q(a)},ref:b,ownerState:D,variant:y,...A,sx:[...void 0===v[m]?[{color:m}]:[],...Array.isArray(z)?z:[z]],style:{...A.style,..."always"===x&&"inherit"!==m&&!v[m]&&{"--Link-underlineColor":(({theme:a,ownerState:b})=>{let c=b.color,d=(0,t.Yn)(a,`palette.${c}.main`,!1)||(0,t.Yn)(a,`palette.${c}`,!1)||b.color,e=(0,t.Yn)(a,`palette.${c}.mainChannel`)||(0,t.Yn)(a,`palette.${c}Channel`);return"vars"in a&&e?`rgba(${e} / 0.4)`:(0,f.X4)(d,.4)})({theme:j,ownerState:D})}}})})},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},49066:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(27080),e=c(21124);let f=(0,d.A)((0,e.jsx)("path",{d:"M8 5v14l11-7z"}),"PlayArrow")},51016:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call the default export of \"C:\\\\Users\\\\MarioAndreschak\\\\Documents\\\\GitHub\\\\FLUJO\\\\src\\\\app\\\\mcp\\\\page.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\mcp\\page.tsx","default")},55511:a=>{"use strict";a.exports=require("crypto")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},63757:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(27080),e=c(21124);let f=(0,d.A)((0,e.jsx)("path",{d:"M3 18h6v-2H3zM3 6v2h18V6zm0 7h12v-2H3z"}),"Sort")},71472:(a,b,c)=>{"use strict";c.r(b),c.d(b,{GlobalError:()=>E.a,__next_app__:()=>K,handler:()=>M,pages:()=>J,routeModule:()=>L,tree:()=>I});var d=c(49754),e=c(9117),f=c(46595),g=c(32324),h=c(39326),i=c(38928),j=c(20175),k=c(12),l=c(54290),m=c(12696),n=c(52574),o=c(82802),p=c(77533),q=c(45229),r=c(32822),s=c(261),t=c(26453),u=c(52474),v=c(26713),w=c(51356),x=c(62685),y=c(36225),z=c(63446),A=c(2762),B=c(45742),C=c(86439),D=c(81170),E=c.n(D),F=c(62506),G=c(91203),H={};for(let a in F)0>["default","tree","pages","GlobalError","__next_app__","routeModule","handler"].indexOf(a)&&(H[a]=()=>F[a]);c.d(b,H);let I={children:["",{children:["mcp",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,51016)),"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\mcp\\page.tsx"]}]},{}]},{layout:[()=>Promise.resolve().then(c.bind(c,51472)),"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\layout.tsx"],"global-error":[()=>Promise.resolve().then(c.t.bind(c,81170,23)),"next/dist/client/components/builtin/global-error.js"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,87028,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,90461,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,32768,23)),"next/dist/client/components/builtin/unauthorized.js"]}]}.children,J=["C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\mcp\\page.tsx"],K={require:c,loadChunk:()=>Promise.resolve()},L=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/mcp/page",pathname:"/mcp",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:I},distDir:".next",relativeProjectDir:""});async function M(a,b,d){var D;let H="/mcp/page";"/index"===H&&(H="/");let N=(0,h.getRequestMeta)(a,"postponed"),O=(0,h.getRequestMeta)(a,"minimalMode"),P=await L.prepare(a,b,{srcPage:H,multiZoneDraftMode:!1});if(!P)return b.statusCode=400,b.end("Bad Request"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let{buildId:Q,query:R,params:S,parsedUrl:T,pageIsDynamic:U,buildManifest:V,nextFontManifest:W,reactLoadableManifest:X,serverActionsManifest:Y,clientReferenceManifest:Z,subresourceIntegrityManifest:$,prerenderManifest:_,isDraftMode:aa,resolvedPathname:ab,revalidateOnlyGenerated:ac,routerServerContext:ad,nextConfig:ae,interceptionRoutePatterns:af}=P,ag=T.pathname||"/",ah=(0,s.normalizeAppPath)(H),{isOnDemandRevalidate:ai}=P,aj=L.match(ag,_),ak=!!_.routes[ab],al=!!(aj||ak||_.routes[ah]),am=a.headers["user-agent"]||"",an=(0,v.getBotType)(am),ao=(0,q.isHtmlBotRequest)(a),ap=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[u.NEXT_ROUTER_PREFETCH_HEADER],aq=(0,h.getRequestMeta)(a,"isRSCRequest")??(0,n.f)(a.headers[u.RSC_HEADER]),ar=(0,t.getIsPossibleServerAction)(a),as=(0,m.checkIsAppPPREnabled)(ae.experimental.ppr)&&(null==(D=_.routes[ah]??_.dynamicRoutes[ah])?void 0:D.renderingMode)==="PARTIALLY_STATIC",at=!1,au=!1,av=as?N:void 0,aw=as&&aq&&!ap,ax=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),ay=!am||(0,q.shouldServeStreamingMetadata)(am,ae.htmlLimitedBots);ao&&as&&(al=!1,ay=!1);let az=!0===L.isDev||!al||"string"==typeof N||aw,aA=ao&&as,aB=null;aa||!al||az||ar||av||aw||(aB=ab);let aC=aB;!aC&&L.isDev&&(aC=ab),L.isDev||aa||!al||!aq||aw||(0,k.d)(a.headers);let aD={...F,tree:I,pages:J,GlobalError:E(),handler:M,routeModule:L,__next_app__:K};Y&&Z&&(0,p.setReferenceManifestsSingleton)({page:H,clientReferenceManifest:Z,serverActionsManifest:Y,serverModuleMap:(0,r.createServerModuleMap)({serverActionsManifest:Y})});let aE=a.method||"GET",aF=(0,g.getTracer)(),aG=aF.getActiveScopeSpan();try{let f=L.getVaryHeader(ab,af);b.setHeader("Vary",f);let k=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return L.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let d=aF.getRootSpanAttributes();if(!d)return;if(d.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${d.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=d.get("next.route");if(e){let a=`${aE} ${e}`;c.setAttributes({"next.route":e,"http.route":e,"next.span_name":a}),c.updateName(a)}else c.updateName(`${aE} ${a.url}`)})},m=async({span:e,postponed:f,fallbackRouteParams:g})=>{let i={query:R,params:S,page:ah,sharedContext:{buildId:Q},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aD,Component:(0,j.T)(aD),params:S,routeModule:L,page:H,postponed:f,shouldWaitOnAllReady:aA,serveStreamingMetadata:ay,supportsDynamicResponse:"string"==typeof f||az,buildManifest:V,nextFontManifest:W,reactLoadableManifest:X,subresourceIntegrityManifest:$,serverActionsManifest:Y,clientReferenceManifest:Z,setIsrStatus:null==ad?void 0:ad.setIsrStatus,dir:c(33873).join(process.cwd(),L.relativeProjectDir),isDraftMode:aa,isRevalidate:al&&!f&&!aw,botType:an,isOnDemandRevalidate:ai,isPossibleServerAction:ar,assetPrefix:ae.assetPrefix,nextConfigOutput:ae.output,crossOrigin:ae.crossOrigin,trailingSlash:ae.trailingSlash,previewProps:_.preview,deploymentId:ae.deploymentId,enableTainting:ae.experimental.taint,htmlLimitedBots:ae.htmlLimitedBots,devtoolSegmentExplorer:ae.experimental.devtoolSegmentExplorer,reactMaxHeadersLength:ae.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:ae.experimental.cacheLife,basePath:ae.basePath,serverActions:ae.experimental.serverActions,...at?{nextExport:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isRevalidate:!0,isDebugDynamicAccesses:at}:{},experimental:{isRoutePPREnabled:as,expireTime:ae.expireTime,staleTimes:ae.experimental.staleTimes,cacheComponents:!!ae.experimental.cacheComponents,clientSegmentCache:!!ae.experimental.clientSegmentCache,clientParamParsing:!!ae.experimental.clientParamParsing,dynamicOnHover:!!ae.experimental.dynamicOnHover,inlineCss:!!ae.experimental.inlineCss,authInterrupts:!!ae.experimental.authInterrupts,clientTraceMetadata:ae.experimental.clientTraceMetadata||[]},waitUntil:d.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d)=>L.onRequestError(a,b,d,ad),err:(0,h.getRequestMeta)(a,"invokeError"),dev:L.isDev}},l=await k(e,i),{metadata:m}=l,{cacheControl:n,headers:o={},fetchTags:p}=m;if(p&&(o[z.NEXT_CACHE_TAGS_HEADER]=p),a.fetchMetrics=m.fetchMetrics,al&&(null==n?void 0:n.revalidate)===0&&!L.isDev&&!as){let a=m.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${ab}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
2
2
  see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:w.CachedRouteKind.APP_PAGE,html:l,headers:o,rscData:m.flightData,postponed:m.postponed,status:m.statusCode,segmentData:m.segmentData},cacheControl:n}},n=async({hasResolved:c,previousCacheEntry:f,isRevalidating:g,span:i})=>{let j,k=!1===L.isDev,l=c||b.writableEnded;if(ai&&ac&&!f&&!O)return(null==ad?void 0:ad.render404)?await ad.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(aj&&(j=(0,x.parseFallbackField)(aj.fallback)),j===x.FallbackMode.PRERENDER&&(0,v.isBot)(am)&&(!as||ao)&&(j=x.FallbackMode.BLOCKING_STATIC_RENDER),(null==f?void 0:f.isStale)===-1&&(ai=!0),ai&&(j!==x.FallbackMode.NOT_FOUND||f)&&(j=x.FallbackMode.BLOCKING_STATIC_RENDER),!O&&j!==x.FallbackMode.BLOCKING_STATIC_RENDER&&aC&&!l&&!aa&&U&&(k||!ak)){let b;if((k||aj)&&j===x.FallbackMode.NOT_FOUND)throw new C.NoFallbackError;if(as&&!aq){let c="string"==typeof(null==aj?void 0:aj.fallback)?aj.fallback:k?ah:null;if(b=await L.handleResponse({cacheKey:c,req:a,nextConfig:ae,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:_,isRoutePPREnabled:as,responseGenerator:async()=>m({span:i,postponed:void 0,fallbackRouteParams:k||au?(0,o.u)(ah):null}),waitUntil:d.waitUntil}),null===b)return null;if(b)return delete b.cacheControl,b}}let n=ai||g||!av?void 0:av;if(at&&void 0!==n)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:w.CachedRouteKind.PAGES,html:y.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let p=U&&as&&((0,h.getRequestMeta)(a,"renderFallbackShell")||au)?(0,o.u)(ag):null;return m({span:i,postponed:n,fallbackRouteParams:p})},p=async c=>{var f,g,i,j,k;let l,o=await L.handleResponse({cacheKey:aB,responseGenerator:a=>n({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ai,isRoutePPREnabled:as,req:a,nextConfig:ae,prerenderManifest:_,waitUntil:d.waitUntil});if(aa&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),L.isDev&&b.setHeader("Cache-Control","no-store, must-revalidate"),!o){if(aB)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=o.value)?void 0:f.kind)!==w.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=o.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let p="string"==typeof o.value.postponed;al&&!aw&&(!p||ap)&&(O||b.setHeader("x-nextjs-cache",ai?"REVALIDATED":o.isMiss?"MISS":o.isStale?"STALE":"HIT"),b.setHeader(u.NEXT_IS_PRERENDER_HEADER,"1"));let{value:q}=o;if(av)l={revalidate:0,expire:void 0};else if(O&&aq&&!ap&&as)l={revalidate:0,expire:void 0};else if(!L.isDev)if(aa)l={revalidate:0,expire:void 0};else if(al){if(o.cacheControl)if("number"==typeof o.cacheControl.revalidate){if(o.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${o.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});l={revalidate:o.cacheControl.revalidate,expire:(null==(j=o.cacheControl)?void 0:j.expire)??ae.expireTime}}else l={revalidate:z.CACHE_ONE_YEAR,expire:void 0}}else b.getHeader("Cache-Control")||(l={revalidate:0,expire:void 0});if(o.cacheControl=l,"string"==typeof ax&&(null==q?void 0:q.kind)===w.CachedRouteKind.APP_PAGE&&q.segmentData){b.setHeader(u.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=q.headers)?void 0:k[z.NEXT_CACHE_TAGS_HEADER];O&&al&&c&&"string"==typeof c&&b.setHeader(z.NEXT_CACHE_TAGS_HEADER,c);let d=q.segmentData.get(ax);return void 0!==d?(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:y.default.fromStatic(d,u.RSC_CONTENT_TYPE_HEADER),cacheControl:o.cacheControl}):(b.statusCode=204,(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:y.default.EMPTY,cacheControl:o.cacheControl}))}let r=(0,h.getRequestMeta)(a,"onCacheEntry");if(r&&await r({...o,value:{...o.value,kind:"PAGE"}},{url:(0,h.getRequestMeta)(a,"initURL")}))return null;if(p&&av)throw Object.defineProperty(Error("Invariant: postponed state should not be present on a resume request"),"__NEXT_ERROR_CODE",{value:"E396",enumerable:!1,configurable:!0});if(q.headers){let a={...q.headers};for(let[c,d]of(O&&al||delete a[z.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let s=null==(g=q.headers)?void 0:g[z.NEXT_CACHE_TAGS_HEADER];if(O&&al&&s&&"string"==typeof s&&b.setHeader(z.NEXT_CACHE_TAGS_HEADER,s),!q.status||aq&&as||(b.statusCode=q.status),!O&&q.status&&G.RedirectStatusCode[q.status]&&aq&&(b.statusCode=200),p&&b.setHeader(u.NEXT_DID_POSTPONE_HEADER,"1"),aq&&!aa){if(void 0===q.rscData){if(q.postponed)throw Object.defineProperty(Error("Invariant: Expected postponed to be undefined"),"__NEXT_ERROR_CODE",{value:"E372",enumerable:!1,configurable:!0});return(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:q.html,cacheControl:aw?{revalidate:0,expire:void 0}:o.cacheControl})}return(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:y.default.fromStatic(q.rscData,u.RSC_CONTENT_TYPE_HEADER),cacheControl:o.cacheControl})}let t=q.html;if(!p||O||aq)return(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:t,cacheControl:o.cacheControl});if(at)return t.push(new ReadableStream({start(a){a.enqueue(A.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:t,cacheControl:{revalidate:0,expire:void 0}});let v=new TransformStream;return t.push(v.readable),m({span:c,postponed:q.postponed,fallbackRouteParams:null}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==w.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(v.writable)}).catch(a=>{v.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:t,cacheControl:{revalidate:0,expire:void 0}})};if(!aG)return await aF.withPropagatedContext(a.headers,()=>aF.trace(i.BaseServerSpan.handleRequest,{spanName:`${aE} ${a.url}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aE,"http.target":a.url}},p));await p(aG)}catch(b){throw b instanceof C.NoFallbackError||await L.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"render",revalidateReason:(0,f.c)({isRevalidate:al,isOnDemandRevalidate:ai})},ad),b}}},73136:a=>{"use strict";a.exports=require("node:url")},76760:a=>{"use strict";a.exports=require("node:path")},81310:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(27080),e=c(21124);let f=(0,d.A)((0,e.jsx)("path",{d:"m19.81 14.99 1.19-.92-1.43-1.43-1.19.92zm-.45-4.72L21 9l-9-7-2.91 2.27 7.87 7.88zM3.27 1 2 2.27l4.22 4.22L3 9l1.63 1.27L12 16l2.1-1.63 1.43 1.43L12 18.54l-7.37-5.73L3 14.07l9 7 4.95-3.85L20.73 21 22 19.73z"}),"LayersClear")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},96369:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>cJ});var d=c(21124),e=c(81637),f=c(38301),g=c.n(f),h=c(46393),i=c(61615),j=c(19815),k=c(79515),l=c(54573),m=c(82666);let n=(0,j.h)("frontend/components/mcp/MCPServerManager/ServerList"),o=({servers:a,isLoading:b,loadError:c,onServerSelect:f,onServerToggle:g,onServerRetry:j,onServerDelete:o,onServerEdit:p,selectionMode:q=!1,selectedServers:r=new Set,onServerSelectionChange:s,updates:t,onServerUpdated:u,folders:v=[],onServerSetFolder:w})=>(n.debug("Rendering ServerList",{serverCount:a.length,isLoading:b,hasError:!!c}),b)?(n.debug("Servers are loading"),(0,d.jsxs)(e.default,{sx:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",p:4},children:[(0,d.jsx)(i.default,{size:"large",color:"primary"}),(0,d.jsx)(k.default,{sx:{mt:2,color:"text.secondary"},children:"Loading servers..."})]})):c?(n.warn("Error loading servers:",c),(0,d.jsx)(l.A,{sx:{p:3,bgcolor:"error.light",color:"error.contrastText",borderRadius:1},children:(0,d.jsx)(k.default,{color:"error",children:c})})):0===a.length?(0,d.jsx)(l.A,{sx:{p:3,textAlign:"center",borderRadius:1},children:(0,d.jsx)(k.default,{color:"text.secondary",children:'No servers configured. Click "Add Server" to get started.'})}):(0,d.jsx)(m.Ay,{container:!0,spacing:2,children:a.map(a=>{let b="streamable"===a.transport&&void 0!==a.oauthTokens;return(0,d.jsx)(m.Ay,{item:!0,xs:12,md:6,lg:4,children:(0,d.jsx)(h.A,{name:a.name,status:a.status,path:a.rootPath,enabled:!a.disabled,transport:a.transport,onToggle:b=>g(a.name,b),onRetry:()=>j(a.name),onDelete:()=>o(a.name),onClick:()=>f(a.name),onEdit:()=>p(a),error:a.error,stderrOutput:a.stderrOutput,exposeAsMcpServer:a.exposeAsMcpServer,enableMcpApps:a.enableMcpApps,selectionMode:q,selected:r.has(a.name),onSelect:s&&!a.builtIn?b=>s(a.name,b):void 0,hasOAuthTokens:b,updateInfo:a.rootPath?t?.[a.rootPath]:void 0,installCommand:a._installCommand,buildCommand:a._buildCommand,onUpdated:u?()=>u(a.name,a.rootPath):void 0,folder:a.folder,folders:v,onSetFolder:w&&!a.builtIn?b=>w(a.name,b):void 0,builtIn:a.builtIn,serverConfig:a})},a.name)})});var p=c(88745),q=c(30717),r=c(53773),s=c(37674),t=c(68730),u=c(67101),v=c(44079),w=c(84040);let x=({githubUrl:a,setGithubUrl:b,savePath:c,setSavePath:g,repoInfo:h,isValidating:i,parseCompleted:j,onValidate:l})=>{let[m,n]=(0,f.useState)(""),{getThemeColor:o}=(0,w.Ic)();return(0,f.useEffect)(()=>{(async()=>{try{let a=await fetch("/api/cwd"),b=await a.json();b.success&&b.mcpServersDir?n(b.mcpServersDir):console.error("Failed to get mcp-servers directory path:",b.error)}catch(a){console.error("Error fetching current working directory:",a)}})()},[]),(0,d.jsxs)(r.A,{spacing:3,children:[(0,d.jsxs)(e.default,{children:[(0,d.jsx)(k.default,{variant:"subtitle2",gutterBottom:!0,children:"GitHub Repository URL"}),(0,d.jsx)(s.A,{fullWidth:!0,value:a,onChange:a=>b(a.target.value),placeholder:"GitHub repository URL",helperText:"Paste a GitHub repository URL",variant:"outlined",size:"small"}),(0,d.jsx)(e.default,{sx:{display:"flex",justifyContent:"flex-end",mt:1},children:(0,d.jsx)(t.A,{variant:"contained",color:j?"success":"primary",onClick:l,disabled:i,children:i?"Validating...":"1) Parse"})})]}),h?.valid&&(0,d.jsxs)(e.default,{children:[(0,d.jsx)(k.default,{variant:"subtitle2",gutterBottom:!0,children:"Where to save the repository?"}),(0,d.jsx)(s.A,{fullWidth:!0,value:c,onChange:a=>g(a.target.value),variant:"outlined",size:"small",InputProps:{endAdornment:(0,d.jsx)(u.A,{position:"end",children:(0,d.jsx)(v.A,{onClick:async()=>{try{let a=await window.showDirectoryPicker(),b=(m?`${m}/${a.name}`:`${a.name}`).replace(/\\/g,"/");g(b)}catch(a){console.error("Failed to select folder:",a)}},edge:"end",children:(0,d.jsx)(q.A,{})})})}})]})]})},y=({showCloneButton:a,isCloning:b,cloneCompleted:c,repoInfo:f,repoExists:g,onClone:h})=>a?(0,d.jsxs)(e.default,{sx:{display:"flex",justifyContent:"flex-end",gap:2},children:[g&&(0,d.jsx)(t.A,{variant:"outlined",color:"warning",onClick:()=>{h(!0)},disabled:b||!f,children:b?"Processing...":"Re-clone (Force)"}),(0,d.jsx)(t.A,{variant:"contained",color:c?"success":"primary",onClick:()=>{h(!1)},disabled:b||!f,children:b?"Processing...":g?"Use Existing":"2) Clone Repository"})]}):null,z=async a=>{try{let b,c,d=new URL(a);if("github.com"!==d.hostname)throw Error("Not a GitHub URL");let e=a.match(/^https:\/\/github\.com\/([^\/]+)\/([^\/]+)\/(?:blob|tree)\/.*$/);if(e)b=e[1],c=e[2];else{let a=d.pathname.split("/").filter(Boolean);if(a.length>=2)b=a[0],c=a[1];else throw Error("Invalid repository path")}let f=await fetch(`https://api.github.com/repos/${b}/${c}`);if(!f.ok)throw Error("Repository not found or not accessible");await f.json();let g=await fetch(`https://api.github.com/repos/${b}/${c}/contents`);if(!g.ok)throw Error("Could not fetch repository contents");let h=await g.json();return{repoInfo:{owner:b,repo:c,valid:!0,contents:h},message:{type:"success",text:`Valid repository: ${b}/${c}`},showCloneButton:!0}}catch(a){return console.error("GitHub parsing error:",a),{repoInfo:null,message:{type:"error",text:a.message||"Invalid GitHub URL. Please enter a valid repository URL."},showCloneButton:!1}}},A=async(a,b,c,d=!1)=>{try{let b=a,e=b.match(/^(https:\/\/github\.com\/[^\/]+\/[^\/]+)\/(?:blob|tree)\/.*$/);e&&(b=e[1]);let f=b.endsWith(".git")?b:`${b.replace(/\/$/,"")}.git`,g=c.replace(/\\/g,"/"),h=await fetch("/api/git",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"clone",repoUrl:f,savePath:g,branch:void 0,forceClone:d})}),i=await h.json();if(!h.ok&&!("exists"in i))throw Error(i.error||"Failed to clone repository");let j=i.relativePath.replace(/\\/g,"/");return{success:!0,message:{type:"success",text:"Repository cloned successfully."},clonedRepoPath:j,envExample:i.envExample}}catch(b){console.error("Error cloning repository:",b);let a=b.message||"";if(a.includes("directory already exist")){let b=a.match(/directory already exist: (.+?)(,|\.|$)/);return{success:!0,message:{type:"warning",text:a},clonedRepoPath:(b?b[1]:c).replace(/\\/g,"/"),envExample:void 0}}return{success:!1,message:{type:"error",text:a||"Error cloning repository. Please try again or configure manually."},envExample:void 0}}},B=(0,j.h)("utils/mcp/processPathLikeArgument");function C(a,b=!0,c){console.log("parseServerConfig: Starting with text length:",a.length);try{let d,e,f;console.log("parseServerConfig: Unescaping markdown characters");let g=a.replace(/\\#/g,"#").replace(/\\\[/g,"[").replace(/\\\]/g,"]").replace(/\\`\\`\\`/g,"```").replace(/\\`/g,"`");console.log("parseServerConfig: Unescaped text length:",g.length),console.log("parseServerConfig: Setting up command patterns"),console.log("parseServerConfig: Extracting code blocks");let h=[...g.matchAll(/```(?:bash|sh|cmd|powershell|batch)?\s*([\s\S]*?)```/gm)].map(a=>a[1]);console.log("parseServerConfig: Found",h.length,"code blocks");let i=[];console.log("parseServerConfig: Looking for build/install commands in main text");let j=g.match(/(?:^|\n)\s*(?:build|\.\/build|build\.bat|\.\/build\.bat|build\.sh|\.\/build\.sh|npm run build|npx build|yarn build|pnpm build|vite build|webpack build|gradle build|mvn build|cargo build)\s*(?:$|\n)/m);j&&(d=j[0].trim(),console.log("parseServerConfig: Found build command in main text:",d));let k=g.match(/(?:^|\n)\s*(?:install|\.\/install|install\.bat|\.\/install\.bat|install\.sh|\.\/install\.sh|setup|\.\/setup|setup\.bat|\.\/setup\.bat|setup\.sh|\.\/setup\.sh|npm install|pip install|yarn install|pnpm install|uv install|gem install|cargo install|apt install|apt-get install|brew install)\s*(?:$|\n)/m);k&&(e=k[0].trim(),console.log("parseServerConfig: Found install command in main text:",e)),console.log("parseServerConfig: Checking code blocks for commands");for(let a=0;a<h.length;a++){let b=h[a];console.log(`parseServerConfig: Processing code block ${a+1}/${h.length}, length: ${b.length}`);let c=b.split("\n");console.log(`parseServerConfig: Code block has ${c.length} lines`);for(let a=0;a<c.length;a++){let b=c[a];if(console.log(`parseServerConfig: Processing line ${a+1}: "${b}"`),!d){let a=b.match(/^[ \t]*(build\.bat|\.\/build\.bat|build\.sh|\.\/build\.sh|npm run build|npx build|yarn build|pnpm build|vite build|webpack build|gradle build|mvn build|cargo build)(?: [\w-]+)*[ \t]*$/);a&&(d=a[1].trim(),console.log(`parseServerConfig: Found build command in code block: ${d}`))}if(!e){let a=b.match(/^[ \t]*((?:install\.bat|\.\/install\.bat|install\.sh|\.\/install\.sh|setup\.bat|\.\/setup\.bat|setup\.sh|\.\/setup\.sh|npm install|pip install|yarn install|pnpm install|uv install|gem install|cargo install|apt install|apt-get install|brew install)(?: [\w\.-]+)*)[ \t]*$/);a&&(e=a[1].trim(),console.log(`parseServerConfig: Found install command in code block: ${e}`))}console.log(`parseServerConfig: Checking for run command in line: "${b}"`);let g=b.match(/(run\.bat|\.\/run\.bat|run\.sh|\.\/run\.sh|npm start|yarn start|pnpm start|python|node|vite)(?:\s+(.+))?/);if(g&&(console.log(`parseServerConfig: Found potential run command: ${g[0]}`),!f)&&(f=g[1].trim(),console.log(`parseServerConfig: Set extracted command to: ${f}`),g[2])){let a=g[2].trim().split(/\s+/);console.log(`parseServerConfig: Extracted args: ${a.join(", ")}`),i=a}}}console.log("parseServerConfig: Cleaning text for JSON parsing");let l=a.replace(/\/\/.*$/gm,""),m="",n="",o=!1,p="";console.log("parseServerConfig: Attempting to extract server config"),console.log("parseServerConfig: Trying to match mcpServers structure");let q=l.match(/"mcpServers"\s*:\s*{\s*"([^"]+)"\s*:\s*({[^}]+})/);if(q)[,m,n]=q,o=!0,p="mcpServers structure",console.log("parseServerConfig: Found server config in mcpServers structure for:",m);else{console.log("parseServerConfig: No mcpServers structure found, trying direct structure");let a=l.match(/"([^"]+)"\s*:\s*({[^{]*"command"\s*:[^{]*"args"\s*:[^}]*})/);a?([,m,n]=a,o=!0,p="direct structure",console.log("parseServerConfig: Found direct server configuration for:",m)):(console.log("parseServerConfig: No valid configuration found in either structure"),n=l,console.log("parseServerConfig: Will attempt to extract any available information"),o=!1,p="extracted information")}console.log("parseServerConfig: Extracting command and args from config");let r=n.match(/"command"\s*:\s*"([^"]+)"/),s=r?r[1]:"";console.log("parseServerConfig: Extracted command:",s);let t=n.match(/"args"\s*:\s*\[([\s\S]*?)\]/),u=t?t[1].split(",").map(a=>a.trim()).map(a=>a.replace(/^"(.*)"$/,"$1")).filter(a=>a.length>0):[];console.log("parseServerConfig: Extracted args:",u),console.log("parseServerConfig: Extracting disabled and autoApprove settings");let v=n.match(/"disabled"\s*:\s*(true|false)/),w=!!v&&"true"===v[1];console.log("parseServerConfig: Extracted disabled:",w);let x=n.match(/"autoApprove"\s*:\s*\[([\s\S]*?)\]/),y=x?x[1].split(",").map(a=>a.trim()).map(a=>a.replace(/^"(.*)"$/,"$1")).filter(a=>a.length>0):[];console.log("parseServerConfig: Extracted autoApprove:",y);let z={};if(console.log("parseServerConfig: Parsing environment variables, parseEnvVars =",b),b){for(let a of(console.log("parseServerConfig: Extracting env vars with standard pattern"),g.matchAll(/^\ *(\w+)=["']?([^"'\r\n#]*)["']?(?:\s*#[^\r\n]*)?(?=\r?\n|$)/gm))){let b=a[1],c=a[2].trim();b&&void 0!==c&&(z[b]=c,console.log(`parseServerConfig: Found env var (standard): ${b}=${c}`))}for(let a of(console.log("parseServerConfig: Extracting env vars with README pattern"),g.matchAll(/(?:^|\n)[-*]?\s*`?(\w+)`?(?:\s*:|=)\s*[`"']?([^`"'\r\n#]*)(?:[`"'])?(?:\s*#[^\r\n]*)?(?=\r?\n|$)/gm))){let b=a[1],c=a[2].trim();b&&void 0!==c&&!z[b]&&(z[b]=c,console.log(`parseServerConfig: Found env var (README): ${b}=${c}`))}}console.log("parseServerConfig: Building final config object");let A=s||f||"";console.log("parseServerConfig: Final command:",A);let C=s&&u.length>0?u:f&&i.length>0?i:u,D=c||m,E=C.map(a=>(function(a,b){if(B.debug("processPathLikeArgument: Entering method",{arg:a,serverName:b}),!a||"string"!=typeof a||!a.includes("/")&&!a.includes("\\"))return a;if(/^@[^/\s]+\/[^/\s@]+(?:@[^/\s]+)?$/.test(a))return B.debug(`processPathLikeArgument: Detected scoped npm package, leaving unchanged: ${a}`),a;B.debug(`processPathLikeArgument: Processing argument: ${a}`);let c=a;for(let a of["/path/to","PATH_TO","path/to","PATH/TO","/PATH/TO","/PATH_TO","path_to"]){let b=c.indexOf(a);if(-1!==b){c=c.substring(b+a.length),B.debug(`processPathLikeArgument: Stripped path pattern "${a}": ${c}`);break}}if(b&&c.includes(b)){let a=RegExp(`(^|[\\/\\\\])${b}([\\/\\\\]|$)`);a.test(c)&&(c=c.replace(a,"$1$2"),B.debug(`processPathLikeArgument: Removed server name "${b}": ${c}`),c=c.replace(/\/\//g,"/"))}return(c.startsWith("/")||c.startsWith("\\"))&&(c=c.substring(1),B.debug(`processPathLikeArgument: Removed leading slash: ${c}`)),c||(c=".",B.debug('processPathLikeArgument: Empty result, replaced with "."')),B.debug(`processPathLikeArgument: Final result: ${c}`),c})(a,D));console.log("parseServerConfig: Final args (after path processing):",E);let F={name:m||"",command:A,args:E,env:z,disabled:w,autoApprove:y,_buildCommand:d,_installCommand:e};if(console.log("parseServerConfig: Config object created:",JSON.stringify(F,null,2)),console.log("parseServerConfig: Preparing return message"),o)return console.log(`parseServerConfig: Returning success - config found in ${p}`),{config:F,foundExplicitConfig:!0,message:{type:"success",text:`Configuration for "${m}" extracted successfully from ${p}.`}};{let a=[];if(s&&a.push("command"),u.length>0&&a.push("arguments"),Object.keys(z).length>0&&a.push("environment variables"),a.length>0)return console.log(`parseServerConfig: Returning warning - partial data extracted: ${a.join(", ")}`),{config:F,foundExplicitConfig:!1,message:{type:"warning",text:`No complete server configuration found, but extracted: ${a.join(", ")}.`}};return console.log("parseServerConfig: Returning error - no data found"),{config:F,foundExplicitConfig:!1,message:{type:"error",text:"No server configuration data found."}}}}catch(a){return console.error("parseServerConfig: Exception occurred:",a),{config:{},foundExplicitConfig:!1,message:{type:"error",text:"Failed to extract server configuration. Please check the content format."}}}}(0,j.h)("utils/mcp/parseServerConfigFromClipboard");let D=(0,j.h)("utils/mcp/configparse/utils");async function E(a,b,c=!1){try{D.debug(`Checking if file exists: ${a}/${b}`);let d=a.endsWith("/")||a.endsWith("\\")?`${a}${b}`:`${a}/${b}`;D.debug(`Constructed full path: ${d}`);let e=await fetch("/api/git",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"readFile",savePath:d})});if(!e.ok)return D.debug(`File does not exist: ${a}/${b}`),{exists:!1};let f=await e.json();if(!f.content&&c)return D.debug(`File exists but is empty: ${a}/${b}`),{exists:!0,content:""};return D.debug(`File exists: ${a}/${b}`),{exists:!0,content:c?f.content:void 0}}catch(c){return D.error(`Error checking if file exists: ${a}/${b}`,c),{exists:!1}}}async function F(a,b){try{let c=await E(a,b,!0);return c.exists&&c.content?c.content:null}catch(c){return D.error(`Error reading file: ${a}/${b}`,c),null}}let G=(0,j.h)("utils/mcp/configparse/typescript");async function H(a){let{repoPath:b,repoName:c}=a;G.debug(`Parsing TypeScript configuration for ${b}`);let d=await E(b,"package.json",!0);if(!d.exists||!d.content)return G.debug(`No package.json found in ${b}`),{detected:!1,language:"typescript",message:{type:"warning",text:"No package.json found in the repository."}};try{let a=JSON.parse(d.content);G.debug(`Successfully parsed package.json for ${b}`);let e=function(a){if(a.packageManager){if(a.packageManager.startsWith("yarn"))return"yarn install";else if(a.packageManager.startsWith("pnpm"))return"pnpm install"}return"npm install --include=dev"}(a),f=function(a){let b=a.scripts||{};return b.build?"npm run build":b.compile?"npm run compile":b.dist?"npm run dist":b.prepare&&b.prepare.includes("build")?"npm run prepare":""}(a),g="node",h=await I(a,b),i=await J(b),j=((await E(b,"tsconfig.json")).exists,"typescript");return{detected:!0,language:j,installCommand:e,buildCommand:f,runCommand:g,args:h,env:i,message:{type:"success",text:"TypeScript/JavaScript configuration detected successfully."},config:{name:c,transport:"stdio",command:g,args:h,env:i,_buildCommand:f,_installCommand:e}}}catch(a){return G.error(`Error parsing package.json for ${b}:`,a),{detected:!1,language:"typescript",message:{type:"error",text:`Error parsing package.json: ${a instanceof Error?a.message:"Unknown error"}`}}}}async function I(a,b){let c=a.scripts||{},d=a.main||"",e=[],f="dist";if(c.build){let a=c.build,b=a.match(/tsc\s+.*(?:--outDir\s+|--outDir=|--outDir\s*=\s*|--out-dir\s+|--out-dir=|--out-dir\s*=\s*|--out\s+|--out=|--out\s*=\s*|-d\s+|-d=|-d\s*=\s*)["']?([^"'\s]+)["']?/);b&&b[1]&&(f=b[1],G.debug(`Extracted output directory from build script: ${f}`));let d=a.match(/(?:webpack|rollup|vite).*(?:--output\s+|--output=|--output\s*=\s*|-o\s+|-o=|-o\s*=\s*)["']?([^"'\s]+)["']?/);d&&d[1]&&(f=d[1],G.debug(`Extracted output directory from webpack/rollup/vite build script: ${f}`)),(a.includes("build/")||a.includes("build\\"))&&(f="build",G.debug("Found 'build' directory reference in build script"))}if(c.start){let a=c.start,b=a.match(/node\s+(?:--[^\s]+=?[^\s]*\s+)*([^\s]+)/);if(b&&b[1])return G.debug(`Extracted entry point from start script: ${b[1]}`),e.push(b[1]),e;let d=a.match(/\b((?:\.\/)?(?:[\w\-\.\/]+)\.js)\b/);if(d&&d[1])return G.debug(`Found .js file in start script: ${d[1]}`),e.push(d[1]),e;let g=a.match(/ts-node\s+([^\s]+)/);if(g&&g[1]){let a=g[1].replace(/\.ts$/,".js").replace(/^src\//,`${f}/`);return e.push(a),e}}if(d&&!d.endsWith(".ts"))return e.push(d),e;let g=`${f}/index.js`;if((await E(b,g)).exists)return e.push(g),e;for(let a of["dist/index.js","build/index.js","lib/index.js","out/index.js"])if((await E(b,a)).exists)return e.push(a),e;return e.push(`${f}/index.js`),e}async function J(a){let b=await F(a,".env.example");if(!b)return{};let c={};for(let a of b.split("\n")){let b=a.trim();if(b.startsWith("#")||""===b)continue;let d=b.match(/^([^=]+)=(.*)$/);if(d){let a=d[1].trim(),b=d[2].trim().replace(/^["'](.*)["']$/,"$1");c[a]=b}}return c}let K=(0,j.h)("utils/mcp/configparse/python");async function L(a){var b;let{repoPath:c,repoName:d}=a;K.debug(`Parsing Python configuration for ${c}`);let e=await E(c,"requirements.txt"),f=await E(c,"pyproject.toml",!0),g=await E(c,"setup.py",!0);if(!e.exists&&!f.exists&&!g.exists)return K.debug(`No Python project files found in ${c}`),{detected:!1,language:"python",message:{type:"warning",text:"No Python project files found in the repository."}};let h=(b=e.exists,f.exists?"uv sync":b?"uv venv && uv pip install -r requirements.txt":"uv venv && uv pip install -e ."),{runCommand:i,args:j}=await M(c,f.content,g.content),k=await N(c);return{detected:!0,language:"python",installCommand:h,buildCommand:"",runCommand:i,args:j,env:k,message:{type:"success",text:"Python configuration detected successfully."},config:{name:d,transport:"stdio",command:i,args:j,env:k,_buildCommand:"",_installCommand:h}}}async function M(a,b,c){let d=["run","python"];for(let b of["main.py","app.py","server.py","run.py","index.py","src/main.py","src/app.py","src/server.py","src/run.py","src/index.py"])if((await E(a,b)).exists)return d.push(b),{runCommand:"uv",args:d};if(b)try{let a=b.match(/\[tool\.poetry\.scripts\]([\s\S]*?)(\[|$)/);if(a){let b=a[1].match(/(\w+)\s*=\s*["']([^"']+)['"]/);if(b){let a=b[2].split(":")[0];return d.push("-m"),d.push(a),{runCommand:"uv",args:d}}}let c=b.match(/\[project\][\s\S]*?name\s*=\s*["']([^"']+)['"]/);if(c){let a=c[1].replace(/-/g,"_");return d.push("-m"),d.push(a),{runCommand:"uv",args:d}}}catch(a){K.error("Error parsing pyproject.toml:",a)}if(c)try{let a=c.match(/name\s*=\s*["']([^"']+)['"]/);if(a){let b=a[1].replace(/-/g,"_");return d.push("-m"),d.push(b),{runCommand:"uv",args:d}}}catch(a){K.error("Error parsing setup.py:",a)}return 2===d.length&&d.push("main.py"),{runCommand:"uv",args:d}}async function N(a){let b=await F(a,".env.example");if(!b)return{};let c={};for(let a of b.split("\n")){let b=a.trim();if(b.startsWith("#")||""===b)continue;let d=b.match(/^([^=]+)=(.*)$/);if(d){let a=d[1].trim(),b=d[2].trim().replace(/^["'](.*)["']$/,"$1");c[a]=b}}return c}let O=(0,j.h)("utils/mcp/configparse/java");async function P(a){var b,c,d,e,f,g,h,i;let{repoPath:j,repoName:k}=a;O.debug(`Parsing Java configuration for ${j}`);let l=await E(j,"pom.xml",!0),m=await E(j,"build.gradle",!0),n=await E(j,"gradlew"),o=await E(j,"mvnw");if(!l.exists&&!m.exists)return O.debug(`No Java project files found in ${j}`),{detected:!1,language:"java",message:{type:"warning",text:"No Java project files found in the repository."}};let p=l.exists,q=m.exists,r=n.exists,s=o.exists,t=(b=p,c=q,d=s,e=r,b?d?"./mvnw install -DskipTests":"mvn install -DskipTests":c?e?"./gradlew dependencies":"gradle dependencies":""),u=(f=p,g=q,h=s,i=r,f?h?"./mvnw package -DskipTests":"mvn package -DskipTests":g?i?"./gradlew build":"gradle build":""),{runCommand:v,args:w}=await Q(j,p,q,l.content,m.content),x=await R(j);return{detected:!0,language:"java",installCommand:t,buildCommand:u,runCommand:v,args:w,env:x,message:{type:"success",text:"Java configuration detected successfully."},config:{name:k,transport:"stdio",command:v,args:w,env:x,_buildCommand:u,_installCommand:t}}}async function Q(a,b,c,d,e){let f="java",g=[];if(g.push("-jar"),b)try{if(d){let a=d.match(/<artifactId>([^<]+)<\/artifactId>/);if(a){let b=a[1],c=`target/${b}*.jar`;return g.push(c),{runCommand:f,args:g}}}return g.push("target/*.jar"),{runCommand:f,args:g}}catch(a){O.error("Error determining Maven JAR path:",a)}else if(c)try{let b="build/libs/*-all.jar";if((await E(a,b)).exists)return g.push(b),{runCommand:f,args:g};let c="build/libs/*-fat.jar";if((await E(a,c)).exists)return g.push(c),{runCommand:f,args:g};return g.push("build/libs/*.jar"),{runCommand:f,args:g}}catch(a){O.error("Error determining Gradle JAR path:",a)}if(1===g.length){for(let b of["target/*.jar","build/libs/*.jar","out/artifacts/*/*.jar"])if((await E(a,b)).exists)return g.push(b),{runCommand:f,args:g};g.push("target/*.jar")}return{runCommand:f,args:g}}async function R(a){let b=await F(a,".env.example");if(!b)return{};let c={};for(let a of b.split("\n")){let b=a.trim();if(b.startsWith("#")||""===b)continue;let d=b.match(/^([^=]+)=(.*)$/);if(d){let a=d[1].trim(),b=d[2].trim().replace(/^["'](.*)["']$/,"$1");c[a]=b}}return c}let S=(0,j.h)("utils/mcp/configparse/kotlin");async function T(a){var b,c,d,e,f,g;let{repoPath:h,repoName:i}=a;S.debug(`Parsing Kotlin configuration for ${h}`);let j=await E(h,"build.gradle.kts",!0),k=await E(h,"build.gradle",!0),l=await E(h,"gradlew"),m=await U(h);if(!j.exists&&!m){if(!k.exists)return S.debug(`No Kotlin project files found in ${h}`),{detected:!1,language:"kotlin",message:{type:"warning",text:"No Kotlin project files found in the repository."}};else if(!(k.content&&(k.content.includes("kotlin")||k.content.includes("org.jetbrains.kotlin"))))return S.debug(`No Kotlin project files found in ${h}`),{detected:!1,language:"kotlin",message:{type:"warning",text:"No Kotlin project files found in the repository."}}}let n=j.exists,o=k.exists,p=l.exists,q=(b=n,c=o,d=p,b||c?d?"./gradlew dependencies":"gradle dependencies":""),r=(e=n,f=o,g=p,e||f?g?"./gradlew build":"gradle build":""),{runCommand:s,args:t}=await V(h,n,o,j.content,k.content),u=await W(h);return{detected:!0,language:"kotlin",installCommand:q,buildCommand:r,runCommand:s,args:t,env:u,message:{type:"success",text:"Kotlin configuration detected successfully."},config:{name:i,transport:"stdio",command:s,args:t,env:u,_buildCommand:r,_installCommand:q}}}async function U(a){for(let b of["src/main/kotlin","src/test/kotlin","src"])if((await E(a,b)).exists)return!0;return!1}async function V(a,b,c,d,e){let f="java",g=[];g.push("-jar");try{let h="build/libs/*-all.jar";if((await E(a,h)).exists)return g.push(h),{runCommand:f,args:g};let i="build/libs/*-fat.jar";if((await E(a,i)).exists)return g.push(i),{runCommand:f,args:g};let j="build/libs/*-with-dependencies.jar";if((await E(a,j)).exists)return g.push(j),{runCommand:f,args:g};let k="";if(b&&d){let a=d.match(/mainClass\.set\(["']([^"']+)["']\)/);a&&(k=a[1])}else if(c&&e){let a=e.match(/mainClassName\s*=\s*['"]([^'"]+)['"]/);a&&(k=a[1])}if(k){let b=k.split("."),c=b[b.length-1].toLowerCase(),d=`build/libs/*${c}*.jar`;if((await E(a,d)).exists)return g.push(d),{runCommand:f,args:g}}return g.push("build/libs/*.jar"),{runCommand:f,args:g}}catch(a){S.error("Error determining Kotlin JAR path:",a)}if(1===g.length){for(let b of["build/libs/*.jar","out/artifacts/*/*.jar"])if((await E(a,b)).exists)return g.push(b),{runCommand:f,args:g};g.push("build/libs/*.jar")}return{runCommand:f,args:g}}async function W(a){let b=await F(a,".env.example");if(!b)return{};let c={};for(let a of b.split("\n")){let b=a.trim();if(b.startsWith("#")||""===b)continue;let d=b.match(/^([^=]+)=(.*)$/);if(d){let a=d[1].trim(),b=d[2].trim().replace(/^["'](.*)["']$/,"$1");c[a]=b}}return c}let X=(0,j.h)("utils/mcp/configparse/index");async function Y(a){let{repoPath:b,repoName:c}=a;X.debug(`Parsing repository configuration for ${b}`);let d=await Z(b,c);if(d.detected&&d.foundExplicitConfig&&d.runCommand)return X.debug(`Explicit configuration found in README for ${b}`),d;X.debug(`Trying TypeScript/JavaScript parser for ${b}`);let e=await H(a);if(e.detected)return X.debug(`TypeScript/JavaScript configuration detected for ${b}`),e;X.debug(`Trying Python parser for ${b}`);let f=await L(a);if(f.detected)return X.debug(`Python configuration detected for ${b}`),f;X.debug(`Trying Java parser for ${b}`);let g=await P(a);if(g.detected)return X.debug(`Java configuration detected for ${b}`),g;X.debug(`Trying Kotlin parser for ${b}`);let h=await T(a);return h.detected?(X.debug(`Kotlin configuration detected for ${b}`),h):d.detected?(X.debug(`Configuration extracted from README for ${b}`),d):(X.debug(`No configuration detected for ${b}, returning default configuration`),{detected:!1,language:"unknown",message:{type:"error",text:"Could not detect repository configuration. Please configure manually."},config:{name:c,transport:"stdio",command:"",args:[],env:{},_buildCommand:"",_installCommand:""}})}async function Z(a,b){try{let c=`${a}/README.md`,d=await fetch("/api/git",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"readFile",savePath:c})});if(!d.ok)return X.debug(`Failed to read README file from ${a}`),{detected:!1,language:"unknown",message:{type:"warning",text:"No README file found in the repository."}};let e=await d.json();if(!e.content)return X.debug(`README file is empty in ${a}`),{detected:!1,language:"unknown",message:{type:"warning",text:"README file is empty."}};let f=await _(e.content,{name:b,transport:"stdio",command:"",args:[],env:{},disabled:!1,autoApprove:[],rootPath:a,_buildCommand:"",_installCommand:""},b);if(f.config&&("stdio"===f.config.transport&&f.config.command||f.config._buildCommand||f.config._installCommand))return{detected:!0,language:"unknown",foundExplicitConfig:f.foundExplicitConfig,installCommand:f.config._installCommand||"",buildCommand:f.config._buildCommand||"",runCommand:"stdio"===f.config.transport&&f.config.command||"",args:"stdio"===f.config.transport&&f.config.args||[],env:f.config.env?Object.fromEntries(Object.entries(f.config.env).map(([a,b])=>[a,"string"==typeof b?b:b.value])):{},message:f.message||{type:"success",text:"Configuration extracted from README."},config:f.config};return{detected:!1,language:"unknown",message:{type:"warning",text:"No configuration found in README."}}}catch(b){return X.error(`Error parsing README from ${a}:`,b),{detected:!1,language:"unknown",message:{type:"error",text:`Error parsing README: ${b instanceof Error?b.message:"Unknown error"}`}}}}function $(a){return"stdio"===a.transport}let _=async(a,b,c)=>{try{let d=c||b.name,e=C(a,!1,d);if(!e.config||!(Object.keys(e.config).length>0))return{config:b,foundExplicitConfig:!1,message:{type:"warning",text:"No server configuration found in README."}};{let a={...b,...e.config,name:b.name,env:{...b.env,...e.config.env}},c="command"in e.config;return{config:$(a)||c?{...a,command:c&&e.config.command||"",transport:a.transport||"stdio"}:{...a,transport:a.transport||"websocket",websocketUrl:a.websocketUrl||""},foundExplicitConfig:e.foundExplicitConfig,message:{type:"success",text:"Server configuration extracted from README."}}}}catch(a){return console.error("Error parsing README:",a),{config:b,message:{type:"error",text:`Error parsing README: ${a.message||"Unknown error"}`}}}},aa=async(a,b)=>{try{let c=b||a.name,d=await window.navigator.clipboard.readText().then(a=>C(a,!1,c));if(!d.config||!(Object.keys(d.config).length>0))return{config:a,message:d.message||{type:"warning",text:"No valid configuration found in clipboard."}};{let b={...a,...d.config,name:a.name,env:{...a.env,...d.config.env}},c="command"in d.config;return{config:$(b)||c?{...b,command:c&&d.config.command||"",transport:b.transport||"stdio"}:{...b,transport:b.transport||"websocket",websocketUrl:b.websocketUrl||""},message:d.message||{type:"success",text:"Configuration parsed from clipboard."}}}}catch(b){return console.error("Error parsing clipboard:",b),{config:a,message:{type:"error",text:`Error parsing clipboard: ${b.message||"Unknown error"}`}}}},ab=(0,j.h)("frontend/components/mcp/MCPServerManager/Modals/ServerModal/utils/configDetection");async function ac(a,b,c){try{ab.debug(`Detecting configuration for repository: ${a}`);let d=await Y({repoPath:a,repoName:b,owner:c});if(d.detected&&d.config)return ab.debug(`Configuration detected for ${a}`,{language:d.language}),{config:d.config,message:d.message||{type:"success",text:"Configuration detected successfully."},success:!0,language:d.language};return ab.debug(`No configuration detected for ${a}`),{config:{name:b,transport:"stdio",command:"",args:[],env:{},disabled:!1,autoApprove:[],rootPath:a,_buildCommand:"",_installCommand:""},message:d.message||{type:"warning",text:"Could not detect repository configuration. Please configure manually."},success:!1,language:d.language}}catch(c){return ab.error(`Error detecting configuration for ${a}:`,c),{config:{name:b,transport:"stdio",command:"",args:[],env:{},disabled:!1,autoApprove:[],rootPath:a,_buildCommand:"",_installCommand:""},message:{type:"error",text:`Error detecting configuration: ${c instanceof Error?c.message:"Unknown error"}`},success:!1}}}(0,j.h)("frontend/components/mcp/MCPServerManager/Modals/ServerModal/utils/errorHandling");var ad=c(33873),ae=c.n(ad);let af=({initialConfig:a,onAdd:b,onUpdate:c,onClose:g,setActiveTab:h,initialGitHubUrl:i})=>{let[j,m]=(0,f.useState)(i||""),[n,o]=(0,f.useState)(null),[q,s]=(0,f.useState)(""),[t,u]=(0,f.useState)(!1),[v,w]=(0,f.useState)(!1),[B,D]=(0,f.useState)(!1),[E,F]=(0,f.useState)(!1),[G,H]=(0,f.useState)(!1),[I,J]=(0,f.useState)(null),[K,L]=(0,f.useState)(""),[M,N]=(0,f.useState)(null),[O,P]=(0,f.useState)(""),[Q,R]=(0,f.useState)(!1);(0,f.useEffect)(()=>{(async()=>{try{let a=await fetch("/api/cwd"),b=await a.json();b.success&&b.mcpServersDir?P(b.mcpServersDir):console.error("Failed to get mcp-servers directory:",b.error)}catch(a){console.error("Error fetching cwd information:",a)}})()},[]);let S=async()=>{w(!0),J(null),R(!1);let a=await z(j);if(o(a.repoInfo),J(a.message),u(a.showCloneButton),a.repoInfo){if(O){let b=ae().join(O,a.repoInfo.repo);s(b),await T(b)}else try{let b=await fetch("/api/cwd"),c=await b.json();if(c.success&&c.mcpServersDir){P(c.mcpServersDir);let b=ae().join(c.mcpServersDir,a.repoInfo.repo);s(b),await T(b)}else console.error("Failed to get mcp-servers directory:",c.error),s(`./mcp-servers/${a.repoInfo.repo}`)}catch(b){console.error("Error fetching cwd information:",b),s(`./mcp-servers/${a.repoInfo.repo}`)}F(!0)}w(!1)},T=async a=>{try{let b=await fetch("/api/git",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"exists",savePath:a})}),c=await b.json();c.success&&c.exists?(R(!0),J({type:"warning",text:`Repository already exists at ${a}. You can re-clone to get the latest version.`})):R(!1)}catch(a){console.error("Error checking if repository exists:",a),R(!1)}},U=async(a=!1)=>{if(n){D(!0),J({type:"success",text:a?"Re-cloning repository...":"Cloning repository..."});try{let b=await A(j,n,q,a);if(!b.success||!b.clonedRepoPath){J(b.message),D(!1);return}let d=b.clonedRepoPath;L(d);let e={};b.envExample&&"string"==typeof b.envExample&&(e=(a=>{try{return a.split("\n").filter(a=>""!==a.trim()).reduce((a,b)=>{let[c,d]=b.split("=").map(a=>a.trim());return c&&d&&(a[c]=d),a},{})}catch(a){return console.error("Failed to parse env variables:",a),{}}})(b.envExample),console.log("Parsed environment variables from .env.example:",e));let f=await ac(d,n.repo,n.owner);J(f.message);let g={},i=f.message;if(f.success&&f.config)console.log("GitHubTab: Initial detection successful. Merging config."),g={...f.config,rootPath:d,env:{...f.config.env||{},...e}},i=f.message;else{console.log("GitHubTab: Initial detection failed. Attempting README parsing fallback.");let a={name:n.repo,transport:"stdio",command:"",args:[],env:e,disabled:!1,autoApprove:[],rootPath:d,_buildCommand:"",_installCommand:""};try{let b=ae().join(n.repo,"README.md");console.log(`GitHubTab: Reading README.md from relative path: ${b}`);let c=await fetch("/api/git",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"readFile",savePath:b})}),h=await c.json();if(h.success&&h.content){console.log("GitHubTab: README.md read successfully. Parsing content.");let b=C(h.content,!0,n.repo);console.log("GitHubTab: README parse result:",b),g={...a,...b.config,rootPath:d,env:{...a.env||{},...b.config?.env||{},...e},_buildCommand:b.config?._buildCommand||a._buildCommand,_installCommand:b.config?._installCommand||a._installCommand},i=b.message||{type:"warning",text:"Configuration partially extracted from README.md. Please review."}}else console.log("GitHubTab: Failed to read or parse README.md. Using default config."),g=a,i=function(a){let b=a?` for ${a}`:"";return{type:"warning",text:`No configuration detected${b}. Please configure manually.`}}(f.language)}catch(b){console.error("GitHubTab: Error reading or parsing README.md:",b),g=a,i={type:"error",text:`Error processing README.md: ${b instanceof Error?b.message:"Unknown error"}`}}}N(g),J(i),c&&g.name&&c(g),h&&h("local"),H(!0)}catch(a){console.error("Error during repository cloning or configuration detection:",a),J({type:"error",text:`Error processing repository: ${a instanceof Error?a.message:"Unknown error"}`})}finally{D(!1)}}};return(0,d.jsx)(l.A,{elevation:0,sx:{p:0},children:(0,d.jsxs)(r.A,{spacing:3,children:[(0,d.jsx)(k.default,{variant:"h6",gutterBottom:!0,children:"Import from GitHub or MCP Platform"}),(0,d.jsx)(x,{githubUrl:j,setGithubUrl:m,savePath:q,setSavePath:s,repoInfo:n,isValidating:v,parseCompleted:E,onValidate:S}),(0,d.jsx)(y,{showCloneButton:t,isCloning:B,cloneCompleted:G,repoInfo:n,repoExists:Q,onClone:U}),I&&(0,d.jsx)(e.default,{children:(0,d.jsx)(p.A,{severity:I.type,children:I.text})})]})})};var ag=c(22813),ah=c(92812),ai=c(60839);let aj=({output:a,isVisible:b,toggleVisibility:c,title:f="Command Output"})=>{let g=(0,ai.A)();return(0,d.jsxs)(l.A,{variant:"outlined",sx:{p:2,height:"100%",display:"flex",flexDirection:"column"},children:[(0,d.jsxs)(e.default,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",mb:2},children:[(0,d.jsx)(k.default,{variant:"h6",children:f}),(0,d.jsx)(v.A,{onClick:c,size:"small",title:b?"Hide console":"Show console",color:"inherit",sx:{color:"text.secondary"},children:b?(0,d.jsx)(ah.A,{}):(0,d.jsx)(ag.A,{})})]}),(0,d.jsx)(e.default,{sx:{fontFamily:"monospace",p:2,borderRadius:1,bgcolor:"dark"===g.palette.mode?"#121212":"#1a1a1a",color:"#4ade80",flex:1,overflow:"auto"},children:a?(0,d.jsx)(e.default,{component:"pre",sx:{whiteSpace:"pre-wrap",m:0},children:a}):(0,d.jsx)(k.default,{variant:"body2",sx:{fontStyle:"italic",color:"text.secondary"},children:"No output to display"})})]})},ak=()=>{let[a,b]=(0,f.useState)(""),[c,d]=(0,f.useState)(!1),[e,g]=(0,f.useState)("Command Output");return{consoleOutput:a,isConsoleVisible:c,consoleTitle:e,setConsoleTitle:g,toggleConsoleVisibility:()=>{d(a=>!a)},setIsConsoleVisible:d,appendToConsole:a=>{b(b=>b+a)},clearConsole:()=>{b("")},updateConsole:a=>{b(a)}}},al=({name:a,setName:b,rootPath:c,setRootPath:f,onRootPathSelect:g})=>(0,d.jsxs)(r.A,{spacing:3,children:[(0,d.jsxs)(e.default,{children:[(0,d.jsx)(k.default,{variant:"subtitle2",gutterBottom:!0,children:"Server Name"}),(0,d.jsx)(s.A,{fullWidth:!0,size:"small",value:a,onChange:a=>b(a.target.value),placeholder:"my-mcp-server",variant:"outlined",required:!0})]}),(0,d.jsxs)(e.default,{children:[(0,d.jsx)(k.default,{variant:"subtitle2",gutterBottom:!0,children:"MCP Server Root Path"}),(0,d.jsx)(s.A,{fullWidth:!0,size:"small",value:c,onChange:a=>f(a.target.value),placeholder:"/path/to/server/root",variant:"outlined",InputProps:{endAdornment:(0,d.jsx)(u.A,{position:"end",children:(0,d.jsx)(v.A,{onClick:g,edge:"end",children:(0,d.jsx)(q.A,{})})})}})]})]});var am=c(8521);let an=({installCommand:a,setinstallCommand:b,buildCommand:c,setBuildCommand:g,onInstall:h,onBuild:i,isInstalling:j,isBuilding:m,installCompleted:n,buildCompleted:o,buildMessage:q})=>{let u=["Still working on it...","Don't close this window!","This can take some time...","Backend is processing your request...","Almost there, please wait...","Processing in progress..."],v=[...u,"Installing dependencies...","NPM install in progress...","Fetching packages from registry..."],w=[...u,"Building server...","Compiling source code...","Bundling files..."],[x,y]=(0,f.useState)(0),[z,A]=(0,f.useState)(0);return(0,f.useEffect)(()=>{let a;return j&&(a=setInterval(()=>{y(a=>(a+1)%v.length)},3e3)),()=>{a&&clearInterval(a)}},[j,v.length]),(0,f.useEffect)(()=>{let a;return m&&(a=setInterval(()=>{A(a=>(a+1)%w.length)},3e3)),()=>{a&&clearInterval(a)}},[m,w.length]),(0,d.jsxs)(r.A,{spacing:3,children:[q&&"error"===q.type&&(0,d.jsx)(p.A,{severity:"error",sx:{mb:2},children:q.text}),(0,d.jsxs)(e.default,{children:[(0,d.jsx)(k.default,{variant:"subtitle2",gutterBottom:!0,children:"Install Script"}),(0,d.jsx)(s.A,{fullWidth:!0,size:"small",value:a,onChange:a=>b(a.target.value),variant:"outlined"}),(0,d.jsxs)(e.default,{sx:{display:"flex",flexDirection:"column",alignItems:"flex-end",mt:1},children:[j&&(0,d.jsxs)(l.A,{elevation:3,sx:{p:2,mb:2,width:"100%",bgcolor:"info.lighter",display:"flex",alignItems:"center",gap:2},children:[(0,d.jsx)(am.default,{size:20,color:"info"}),(0,d.jsx)(k.default,{variant:"body2",color:"info.dark",fontWeight:"medium",children:v[x]})]}),(0,d.jsx)(t.A,{variant:"contained",color:n?"success":"primary",onClick:h,disabled:j,children:j?"Installing...":"1) Install Dependencies"})]})]}),(0,d.jsxs)(e.default,{children:[(0,d.jsx)(k.default,{variant:"subtitle2",gutterBottom:!0,children:"Build Command"}),(0,d.jsx)(s.A,{fullWidth:!0,size:"small",value:c,onChange:a=>g(a.target.value),variant:"outlined"}),(0,d.jsxs)(e.default,{sx:{display:"flex",flexDirection:"column",alignItems:"flex-end",mt:1},children:[m&&(0,d.jsxs)(l.A,{elevation:3,sx:{p:2,mb:2,width:"100%",bgcolor:"info.lighter",display:"flex",alignItems:"center",gap:2},children:[(0,d.jsx)(am.default,{size:20,color:"info"}),(0,d.jsx)(k.default,{variant:"body2",color:"info.dark",fontWeight:"medium",children:w[z]})]}),(0,d.jsx)(t.A,{variant:"contained",color:o?"success":"primary",onClick:i,disabled:m,children:m?"Building...":"2) Build Server"})]})]})]})};var ao=c(38296),ap=c(41893),aq=c(95587),ar=c(77028),as=c(43312),at=c(6537),au=c(47902),av=c(91034),aw=c(85557),ax=c(93083),ay=c(49938),az=c(82571),aA=c(92173);let aB=/^\$\{global:([^}]+)\}$/,aC=a=>Object.entries(a||{}).map(([a,b])=>{let c=null!==b&&"object"==typeof b&&"value"in b,d=c?b.value??"":b??"",e=c?!!b.metadata?.isSecret:(0,az.Hm)(a),f=d.match(aB);if(f)return{key:a,value:d,isSecret:e,isBound:!0,boundTo:f[1]};let g=d===aA.RJ||d===aA.gF;return{key:a,value:d,isSecret:e,isMasked:g}}),aD=a=>{let b={};return a.forEach(({key:a,value:c,isSecret:d,isBound:e,boundTo:f})=>{let g=a.trim();g&&(e&&f?b[g]={value:"${global:"+f+"}",metadata:{isSecret:!!d}}:b[g]={value:c,metadata:{isSecret:!!d}})}),b},aE=({headers:a,onChange:b})=>{let{globalEnvVars:c}=(0,ay.rX)(),[f,h]=g().useState(()=>aC(a)),[i,j]=g().useState(!1),[l,m]=g().useState(null),n=JSON.stringify(a||{}),o=g().useRef(n);g().useEffect(()=>{o.current!==n&&n!==JSON.stringify(aD(f))&&(h(aC(a)),o.current=n)},[n]);let p=a=>{h(a);let c=aD(a);o.current=JSON.stringify(c),b(c)};return(0,d.jsxs)(e.default,{children:[(0,d.jsx)(k.default,{variant:"subtitle2",gutterBottom:!0,children:"Custom HTTP Headers"}),(0,d.jsxs)(k.default,{variant:"caption",color:"text.secondary",sx:{display:"block",mb:1.5},children:["Sent on every request to the server (e.g. an ",(0,d.jsx)("code",{children:"Authorization"})," header or any custom headers the server requires). Values can be marked ",(0,d.jsx)("strong",{children:"secret"})," (masked in the UI, encrypted at rest) or bound to a global variable."]}),(0,d.jsxs)(r.A,{spacing:1.5,children:[0===f.length&&(0,d.jsx)(k.default,{variant:"body2",color:"text.secondary",children:"No custom headers configured."}),f.map((a,b)=>(0,d.jsxs)(r.A,{direction:"row",spacing:1,alignItems:"flex-start",children:[(0,d.jsx)(s.A,{size:"small",label:"Header",placeholder:"Authorization",value:a.key,onChange:a=>((a,b)=>{p(f.map((c,d)=>{if(d!==a)return c;let e=c.isSecret||(0,az.Hm)(b);return{...c,key:b,isSecret:e}}))})(b,a.target.value),sx:{flex:"0 0 32%"}}),(0,d.jsx)(s.A,{size:"small",label:"Value",type:a.isSecret&&!a.isBound?"password":"text",placeholder:a.showWarning?"Re-enter value":a.isMasked?"(unchanged)":"Basic dXNlcjpwYXNz",value:a.isBound?"":a.value,onChange:a=>{var c;return c=a.target.value,void p(f.map((a,d)=>d===b?{...a,value:c,isMasked:!1,showWarning:!1}:a))},error:a.showWarning,helperText:a.showWarning?'Re-enter the value after turning off "Secret".':a.isMasked?"A secret is stored. Type to replace it, or bind to a global variable.":"",InputProps:{readOnly:a.isBound,endAdornment:a.isBound?(0,d.jsx)(u.A,{position:"end",children:(0,d.jsx)(ap.A,{size:"small",label:`Bound: ${a.boundTo}`,color:"primary",variant:"outlined",onDelete:()=>{p(f.map((a,c)=>c===b?{...a,isBound:!1,boundTo:void 0,value:""}:a))},deleteIcon:(0,d.jsx)(ax.A,{fontSize:"small"})})}):null},sx:{flex:1}}),(0,d.jsx)(aq.A,{control:(0,d.jsx)(ar.A,{checked:a.isSecret,onChange:a=>((a,b)=>{p(f.map((c,d)=>d!==a?c:c.isSecret&&!b&&c.isMasked?{...c,isSecret:b,value:"",isMasked:!1,showWarning:!0}:{...c,isSecret:b}))})(b,a.target.checked),size:"small"}),label:"Secret",sx:{mr:0,mt:.25}}),!a.isBound&&(0,d.jsx)(as.A,{title:"Bind to a global variable",children:(0,d.jsx)(v.A,{"aria-label":"bind header to global variable",size:"small",color:"primary",onClick:()=>{m(b),j(!0)},sx:{mt:.25},children:(0,d.jsx)(aw.A,{fontSize:"small"})})}),(0,d.jsx)(as.A,{title:"Remove header",children:(0,d.jsx)(v.A,{"aria-label":"remove header",onClick:()=>{p(f.filter((a,c)=>c!==b))},size:"small",sx:{mt:.25},children:(0,d.jsx)(av.A,{fontSize:"small"})})})]},b)),(0,d.jsx)(e.default,{children:(0,d.jsx)(t.A,{startIcon:(0,d.jsx)(au.A,{}),onClick:()=>{h(a=>[...a,{key:"",value:"",isSecret:!1}])},size:"small",variant:"outlined",children:"Add Header"})})]}),(0,d.jsx)(at.A,{open:i,onClose:()=>{j(!1),m(null)},children:(0,d.jsxs)(e.default,{sx:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:400,maxWidth:"90%",bgcolor:"background.paper",boxShadow:24,p:4,borderRadius:2},children:[(0,d.jsx)(k.default,{variant:"h6",sx:{mb:2},children:"Bind Header to Global Variable"}),0===Object.keys(c).length?(0,d.jsx)(k.default,{color:"text.secondary",sx:{mb:2},children:"No global variables available. Add some in Settings first."}):(0,d.jsx)(e.default,{sx:{maxHeight:300,overflow:"auto",mb:2},children:Object.keys(c).map(a=>(0,d.jsx)(t.A,{fullWidth:!0,variant:"text",onClick:()=>(a=>{null!==l&&(p(f.map((b,c)=>c===l?{...b,isBound:!0,boundTo:a,value:"${global:"+a+"}",isMasked:!1,showWarning:!1}:b)),j(!1),m(null))})(a),sx:{justifyContent:"flex-start",textAlign:"left",mb:1,p:1,borderRadius:1},children:(0,d.jsx)(k.default,{variant:"body2",children:a})},a))}),(0,d.jsx)(e.default,{sx:{display:"flex",justifyContent:"flex-end"},children:(0,d.jsx)(t.A,{variant:"outlined",onClick:()=>{j(!1),m(null)},children:"Cancel"})})]})})]})};var aF=c(35406),aG=c(38941);let aH=/^\$\{global:([^}]+)\}$/,aI=({clientId:a,clientSecret:b,onClientIdChange:c,onClientSecretChange:g})=>{let{globalEnvVars:h}=(0,ay.rX)(),[i,j]=(0,f.useState)(!1),l=b.match(aH),m=!!l,n=l?.[1]??null,o="/api/oauth/callback";return(0,d.jsxs)(e.default,{sx:{position:"relative"},children:[(0,d.jsxs)(k.default,{variant:"subtitle2",gutterBottom:!0,children:["OAuth Client Credentials"," ",(0,d.jsx)(k.default,{component:"span",variant:"caption",color:"text.secondary",children:"(optional)"})]}),(0,d.jsxs)(k.default,{variant:"caption",color:"text.secondary",sx:{display:"block",mb:1.5},children:["Leave blank for servers that support automatic registration — just click Authenticate. Only fill these in if the server requires a pre-registered app (it will report that dynamic client registration is not supported). See the"," ",(0,d.jsx)(aF.A,{href:"https://modelcontextprotocol.io/specification/draft/basic/authorization",target:"_blank",rel:"noopener",children:"MCP authorization spec"}),"."]}),(0,d.jsx)(s.A,{fullWidth:!0,size:"small",label:"Client ID",value:a,onChange:a=>c(a.target.value),placeholder:"e.g. 1234567890abcdef",variant:"outlined",sx:{mb:1.5}}),(0,d.jsx)(s.A,{fullWidth:!0,size:"small",label:"Client Secret",type:m?"text":"password",value:b,onChange:a=>g(a.target.value),placeholder:"Only if the server requires it",variant:"outlined",autoComplete:"off",InputProps:{readOnly:m,endAdornment:m?(0,d.jsx)(as.A,{title:"Unbind from global variable",children:(0,d.jsx)(v.A,{size:"small",onClick:()=>g(""),children:(0,d.jsx)(ax.A,{fontSize:"small"})})}):(0,d.jsx)(as.A,{title:"Bind to a global variable",children:(0,d.jsx)(v.A,{size:"small",onClick:()=>j(!0),children:(0,d.jsx)(aw.A,{fontSize:"small"})})})},helperText:m?`Bound to global variable "${n}"`:b===aA.RJ?"A secret is stored. Type a new one to replace it, or bind it to a global variable.":void 0}),(0,d.jsxs)(e.default,{sx:{mt:1.5,display:"flex",alignItems:"center",gap:.5},children:[(0,d.jsx)(k.default,{variant:"caption",color:"text.secondary",children:"Redirect URI to register in the provider's app:"}),(0,d.jsx)(k.default,{variant:"caption",sx:{fontFamily:"monospace"},children:o}),(0,d.jsx)(as.A,{title:"Copy redirect URI",children:(0,d.jsx)(v.A,{size:"small",onClick:()=>navigator.clipboard.writeText(o),children:(0,d.jsx)(aG.A,{sx:{fontSize:14}})})})]}),i&&(0,d.jsxs)(e.default,{sx:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:400,bgcolor:"background.paper",boxShadow:24,p:3,borderRadius:1,zIndex:9999},children:[(0,d.jsx)(k.default,{variant:"h6",component:"h2",sx:{mb:2},children:"Bind Client Secret to Global Variable"}),0===Object.keys(h).length?(0,d.jsx)(k.default,{sx:{mb:2},children:"No global variables available. Add some in Settings first."}):(0,d.jsx)(e.default,{sx:{maxHeight:300,overflow:"auto",mb:2},children:Object.keys(h).map(a=>(0,d.jsx)(t.A,{onClick:()=>{g(`\${global:${a}}`),j(!1)},fullWidth:!0,sx:{justifyContent:"flex-start",textAlign:"left",mb:1,p:1,"&:hover":{bgcolor:"action.hover"}},children:(0,d.jsx)(k.default,{children:a})},a))}),(0,d.jsx)(e.default,{sx:{display:"flex",justifyContent:"flex-end"},children:(0,d.jsx)(t.A,{onClick:()=>j(!1),children:"Cancel"})})]})]})};var aJ=c(22042),aK=c(34304),aL=c(38233);let aM=new Set(["npx","bunx","uvx","pipx","dlx"]),aN=new Set(["pnpm","yarn","bun","npm"]),aO=new Set(["dlx","exec","x"]);function aP(a,b=[]){let c=((a||"").split(/[\\/]/).filter(Boolean).pop()||"").toLowerCase().replace(/\.(cmd|exe|bat|ps1)$/i,"");if(aM.has(c))return!0;if(aN.has(c)){let a=(b[0]||"").toLowerCase();return aO.has(a)}return!1}function aQ(a){return"stdio"===a.transport&&aP(a.command,a.args??[])}let aR=({command:a,setCommand:b,transport:c,setTransport:g,websocketUrl:h,setWebsocketUrl:i,serverUrl:j,setServerUrl:l,onRun:m,isRunning:n,runCompleted:o,env:q,onEnvChange:u,headers:v={},onHeadersChange:w,oauthClientId:x="",oauthClientSecret:y="",onOAuthClientIdChange:z,onOAuthClientSecretChange:A,serverName:B,consoleOutput:C,message:D,setMessage:E})=>{(0,f.useEffect)(()=>{C.includes("MODULE_NOT_FOUND")&&E({type:"error",text:"Module not found error detected. Please check the paths defined in the Arguments!"})},[C,E]);let F="websocket"!==c||(a=>{if(!a)return!1;try{let b=new URL(a);return"ws:"===b.protocol||"wss:"===b.protocol}catch(a){return!1}})(h),G="sse"!==c&&"streamable"!==c||(a=>{if(!a)return!1;try{let b=new URL(a);return"http:"===b.protocol||"https:"===b.protocol}catch(a){return!1}})(j),H="websocket"===c&&F&&(a=>{try{let b=new URL(a);return"ws:"===b.protocol&&!(a=>{let b=a.toLowerCase();return"localhost"===b||"127.0.0.1"===b||"::1"===b||"[::1]"===b||b.endsWith(".localhost")})(b.hostname)}catch(a){return!1}})(h),I=a.trim().split(/\s+/).filter(Boolean),J="stdio"===c&&I.length>0&&aP(I[0],I.slice(1)),K=Math.round(90);return(0,d.jsxs)(r.A,{spacing:3,children:[D&&"error"===D.type&&(0,d.jsx)(p.A,{severity:"error",sx:{mb:2},children:D.text}),(0,d.jsxs)(e.default,{children:[(0,d.jsx)(k.default,{variant:"subtitle2",gutterBottom:!0,children:"Transport Type"}),(0,d.jsxs)(aJ.A,{value:c,onChange:(a,b)=>g(b),sx:{borderBottom:1,borderColor:"divider",mb:2},variant:"scrollable",scrollButtons:"auto",children:[(0,d.jsx)(aK.A,{label:"Standard IO",value:"stdio"}),(0,d.jsx)(aK.A,{label:"WebSocket",value:"websocket"}),(0,d.jsx)(aK.A,{label:"SSE",value:"sse"}),(0,d.jsx)(aK.A,{label:"Streamable HTTP",value:"streamable"})]})]}),"websocket"===c&&(0,d.jsxs)(e.default,{children:[(0,d.jsx)(k.default,{variant:"subtitle2",gutterBottom:!0,children:"WebSocket URL"}),(0,d.jsx)(s.A,{fullWidth:!0,size:"small",value:h,onChange:a=>i(a.target.value),placeholder:"ws://localhost:3000",variant:"outlined",required:!0,error:!F,helperText:!F&&"Please enter a valid WebSocket URL (starting with ws:// or wss://)"}),H&&(0,d.jsx)(p.A,{severity:"warning",sx:{mt:1},children:"This URL uses unencrypted ws:// to a non-localhost host. Consider using wss:// for remote servers so credentials and data are encrypted in transit."})]}),("sse"===c||"streamable"===c)&&(0,d.jsxs)(e.default,{children:[(0,d.jsx)(k.default,{variant:"subtitle2",gutterBottom:!0,children:"Server URL"}),(0,d.jsx)(s.A,{fullWidth:!0,size:"small",value:j,onChange:a=>l(a.target.value),placeholder:"https://localhost:3000",variant:"outlined",required:!0,error:!G,helperText:!G&&"Please enter a valid HTTP URL (starting with http:// or https://)"})]}),("sse"===c||"streamable"===c)&&(0,d.jsx)(e.default,{children:(0,d.jsx)(aE,{headers:v,onChange:w||(()=>{})})}),("sse"===c||"streamable"===c)&&(0,d.jsx)(e.default,{children:(0,d.jsx)(aI,{clientId:x,clientSecret:y,onClientIdChange:z||(()=>{}),onClientSecretChange:A||(()=>{})})}),"stdio"===c&&(0,d.jsxs)(e.default,{children:[(0,d.jsx)(k.default,{variant:"subtitle2",gutterBottom:!0,children:"Run Command"}),(0,d.jsx)(s.A,{fullWidth:!0,size:"small",value:a,onChange:a=>b(a.target.value),placeholder:"npm start",variant:"outlined",required:!0}),J&&(0,d.jsxs)(aL.A,{children:["npx/uvx may download the package on the first run — the Test Run waits up to ",K,"s before timing out."]})]}),(0,d.jsx)(e.default,{sx:{display:"flex",justifyContent:"flex-end",mt:1},children:(0,d.jsx)(t.A,{variant:"contained",color:o?"success":"primary",onClick:m,startIcon:n?(0,d.jsx)(am.default,{size:16,color:"inherit"}):void 0,disabled:n||"stdio"===c&&!a.trim()||"websocket"===c&&!F||("sse"===c||"streamable"===c)&&!G,title:"stdio"!==c||a.trim()?"websocket"!==c||F?"sse"!==c&&"streamable"!==c||G?"Test the run command":"Please enter a valid Server URL":"Please enter a valid WebSocket URL":"Please enter a run command first",children:n?"Running...":"3) Test Run"})}),(0,d.jsx)(e.default,{children:(0,d.jsx)(ao.A,{serverName:B,initialEnv:q,onSave:async a=>(u(a),Promise.resolve())})})]})};var aS=c(95345);let aT=({args:a,onArgChange:b,onAddArg:c,onRemoveArg:f,onFolderSelect:g,onParseReadme:h,onParseClipboard:i,isParsingReadme:j})=>{let{getThemeColor:l}=(0,w.Ic)();return(0,d.jsxs)(e.default,{children:[(0,d.jsxs)(e.default,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",mb:1},children:[(0,d.jsx)(k.default,{variant:"subtitle2",children:"Arguments"}),(0,d.jsxs)(r.A,{direction:"row",spacing:1,children:[(0,d.jsx)(t.A,{size:"small",startIcon:(0,d.jsx)(aS.A,{}),onClick:h,disabled:j,color:"inherit",sx:{color:"text.secondary"},children:"Parse README"}),(0,d.jsx)(t.A,{size:"small",startIcon:(0,d.jsx)(aS.A,{}),onClick:i,color:"inherit",sx:{color:"text.secondary"},children:"Parse from Clipboard"})]})]}),(0,d.jsxs)(r.A,{spacing:1,children:[a.map((a,c)=>(0,d.jsxs)(r.A,{direction:"row",spacing:1,children:[(0,d.jsx)(s.A,{fullWidth:!0,size:"small",value:a,onChange:a=>b(c,a.target.value),variant:"outlined"}),(0,d.jsx)(as.A,{title:"Select folder",children:(0,d.jsx)(v.A,{onClick:()=>g(c),size:"small",sx:{border:1,borderColor:"divider"},children:(0,d.jsx)(q.A,{})})}),(0,d.jsx)(as.A,{title:"Remove argument",children:(0,d.jsx)(v.A,{onClick:()=>f(c),size:"small",sx:{border:1,borderColor:"divider"},children:(0,d.jsx)(av.A,{})})})]},c)),(0,d.jsx)(t.A,{startIcon:(0,d.jsx)(au.A,{}),onClick:c,color:"primary",sx:{alignSelf:"flex-start",mt:1},children:"Add Argument"})]})]})};var aU=c(2173),aV=c(67191),aW=c(82605),aX=c(98256),aY=c(7675),aZ=c(94367),a$=c(27080);let a_=(0,a$.A)((0,d.jsx)("path",{d:"M20 9V7c0-1.1-.9-2-2-2h-3c0-1.66-1.34-3-3-3S9 3.34 9 5H6c-1.1 0-2 .9-2 2v2c-1.66 0-3 1.34-3 3s1.34 3 3 3v4c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2v-4c1.66 0 3-1.34 3-3s-1.34-3-3-3M7.5 11.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5S9.83 13 9 13s-1.5-.67-1.5-1.5M16 17H8v-2h8zm-1-4c-.83 0-1.5-.67-1.5-1.5S14.17 10 15 10s1.5.67 1.5 1.5S15.83 13 15 13"}),"SmartToy");var a0=c(83434);let a1=(0,j.h)("frontend/components/mcp/.../SamplingManager"),a2=({policy:a,onChange:b})=>{let[c,g]=(0,f.useState)([]),h=!!a?.enabled;(0,f.useEffect)(()=>{let a=!1;return a0.N.loadModels().then(b=>{a||g(Array.isArray(b)?b:[])}).catch(a=>a1.warn("Failed to load models for sampling policy",a)),()=>{a=!0}},[]);let i=c=>{b({enabled:h,modelId:a?.modelId,maxCallsPerMinute:a?.maxCallsPerMinute,...c})};return(0,d.jsxs)(e.default,{children:[(0,d.jsxs)(e.default,{sx:{display:"flex",alignItems:"center",mb:.5},children:[(0,d.jsx)(a_,{fontSize:"small",sx:{mr:1,color:"text.secondary"}}),(0,d.jsx)(k.default,{variant:"subtitle1",children:"Let this tool use your AI"}),(0,d.jsx)(aV.A,{checked:h,onChange:a=>i({enabled:a.target.checked}),size:"small",sx:{ml:1}})]}),(0,d.jsx)(k.default,{variant:"caption",color:"text.secondary",sx:{display:"block",mb:1.5},children:"Allows this server to ask FLUJO to run AI calls on its behalf (MCP sampling). Off by default. When on, the server can spend the selected model's API budget — only enable it for servers you trust."}),h&&(0,d.jsxs)(e.default,{sx:{display:"flex",gap:2,flexWrap:"wrap",alignItems:"flex-start"},children:[(0,d.jsxs)(aW.A,{size:"small",sx:{minWidth:260},error:!a?.modelId,children:[(0,d.jsx)(aX.A,{id:"sampling-model-label",children:"Model"}),(0,d.jsxs)(aY.A,{labelId:"sampling-model-label",label:"Model",value:c.some(b=>b.id===a?.modelId)?a?.modelId:"",onChange:a=>i({modelId:a.target.value||void 0}),children:[0===c.length&&(0,d.jsx)(aZ.A,{value:"",disabled:!0,children:"No models configured"}),c.map(a=>(0,d.jsx)(aZ.A,{value:a.id,children:a.displayName||a.name},a.id))]})]}),(0,d.jsx)(s.A,{size:"small",type:"number",label:"Max calls / minute",sx:{width:160},value:a?.maxCallsPerMinute??"",placeholder:"10",onChange:a=>{let b=parseInt(a.target.value,10);i({maxCallsPerMinute:Number.isFinite(b)&&b>0?b:void 0})},helperText:"Default 10"}),!a?.modelId&&(0,d.jsx)(p.A,{severity:"warning",sx:{width:"100%"},children:"Pick a model — sampling requests will be rejected until one is selected."})]})]})};var a3=c(32720),a4=c(33799),a5=c(28055);let a6=async(a,b,c,d,e,f,g)=>{let h=await aa(a,a.name);h.message&&c(h.message),h.config&&(b("websocket"===h.config.transport?{...h.config,env:a.env,transport:"websocket",websocketUrl:h.config.websocketUrl||g}:{...h.config,env:a.env,transport:"stdio",command:h.config.command||"",args:h.config.args||[]}),h.config._buildCommand&&d(h.config._buildCommand),h.config._installCommand&&e(h.config._installCommand))},a7=async(a,b,c,d,e,f,g,h)=>{d(!0),c({type:"success",text:"Parsing README.md from repository root..."});try{if(!a.name)throw Error("Please specify a server name first");let d=a.name,i=`${d}/README.md`,j=await fetch("/api/git",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"readFile",savePath:i})});if(console.log("DEBUG - API response status:",j.status),!j.ok)throw Error("Failed to read README file from repository root");let k=await j.json();if(!k.content)throw Error("README file is empty");let l=await _(k.content,a,a.name);console.log("DEBUG - Parsing README content with repository root path:",a.name),l.message&&c(l.message),l.config&&("websocket"===l.config.transport?(b({...l.config,transport:"websocket",websocketUrl:l.config.websocketUrl||h}),l.config.websocketUrl&&g(l.config.websocketUrl)):b({...l.config,transport:"stdio",command:l.config.command||"",args:l.config.args||[]}),l.config._buildCommand&&e(l.config._buildCommand),l.config._installCommand&&f(l.config._installCommand))}catch(a){console.error("Error parsing README:",a),c({type:"error",text:`Error parsing README: ${a.message||"Unknown error"}`})}finally{d(!1)}},a8=async(a,b,c,d,e,f,g,h)=>{if(!a.name)return void d({type:"error",text:"Please specify a server name first"});c(!0),d({type:"success",text:"Installing dependencies..."}),e("Install Dependencies Output"),f(!0),g(`Executing: ${b}
3
3
 
4
4
  `),console.log("DEBUG - Installing dependencies for server:",a.name);let i=a.rootPath||`mcp-servers/${a.name}`,j=!1,k=await (0,a4.b)(i,b,a=>{j=!0,g(b=>b+a)});j||g(a=>a+(k.output||"Command completed successfully, but no output was returned.")),k.success?(h(!0),d({type:"success",text:"Dependencies installed successfully. Check the console for more information."})):d({type:"error",text:"Failed to install dependencies. Check the console for more information."}),c(!1)},a9=async(a,b,c,d,e,f,g,h)=>{if(!a.name)return void d({type:"error",text:"Please specify a server name first"});c(!0),d({type:"success",text:"Building server..."}),e("Build Server Output"),f(!0),g(`Executing: ${b}
@@ -43,4 +43,4 @@ Error during connection test: ${a.message}
43
43
  `)}catch(a){throw console.error("Error fetching server info:",a),F(`Error fetching server info: ${a instanceof Error?a.message:"Unknown error"}
44
44
  `),a}},J=async a=>{try{let b=await fetch("/api/git",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"readFile",savePath:a})});return(await b.json()).success}catch{return!1}},K=async a=>{try{let b=await J(`${a.directory}/package.json`),d=await J(`${a.directory}/pyproject.toml`),e="",f=[],h="",i="";if(b){e="node",f=["dist/index.js"],h="npm run build",i="npm install --include=dev";try{let b=await fetch("/api/git",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"readFile",savePath:`${a.directory}/package.json`})}),c=await b.json();if(c.success){let b=JSON.parse(c.content);if(b.bin){let c="";if("string"==typeof b.bin)c=b.bin;else{let d=`mcp-server-${a.name}`;b.bin[d]&&(c=b.bin[d])}c&&(f=[c])}}}catch(a){console.error("Error reading package.json:",a)}}else if(d){e="python";let b=a.name.replace(/-/g,"_"),c=`mcp_server_${b}`;f=["-m",c],await J(`${a.directory}/requirements.txt`)?(i="pip install -r requirements.txt",h=d?"pip install -e .":""):(i="pip install -e .",h="");try{let b=await fetch("/api/git",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"readFile",savePath:`${a.directory}/pyproject.toml`})}),c=await b.json();if(c.success){let a=c.content.match(/\[project\.scripts\][\s\S]*?mcp-server-[^=]+=\s*"([^:]+):/);a&&a[1]&&(f=["-m",a[1]])}}catch(a){console.error("Error reading pyproject.toml:",a)}}else e=a.command||"npx -y @modelcontextprotocol/server-"+a.name,f=[],h=a.buildCommand||"npm run build",i=a.installCommand||"npm install";let j={name:a.name,rootPath:a.directory,command:e,args:f,env:{},disabled:!1,autoApprove:[],transport:"stdio",_buildCommand:h,_installCommand:i};g&&g(j),c&&c("local")}catch(a){console.error("Error configuring server:",a),v({type:"error",text:`Error configuring server: ${a instanceof Error?a.message:"Unknown error"}`})}};return(0,d.jsx)(e.default,{sx:{width:"100%"},children:(0,d.jsxs)(r.A,{spacing:3,children:[(0,d.jsx)(k.default,{variant:"h6",gutterBottom:!0,children:"MCP Reference Servers"}),(0,d.jsxs)(e.default,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",mb:2},children:[(0,d.jsx)(k.default,{variant:"body1",children:A?`${w.length} servers available from the ModelContextProtocol repository`:'Repository not yet cloned. Click "Refresh" to get started.'}),(0,d.jsx)(t.A,{variant:"contained",color:"primary",startIcon:n?(0,d.jsx)(am.default,{size:20,color:"inherit"}):(0,d.jsx)(b1.A,{}),onClick:H,disabled:n,children:n?"Refreshing...":"Refresh"})]}),u&&(0,d.jsx)(p.A,{severity:u.type,sx:{mb:2},children:u.text}),i?(0,d.jsx)(e.default,{sx:{display:"flex",justifyContent:"center",my:4},children:(0,d.jsx)(am.default,{})}):(0,d.jsxs)(d.Fragment,{children:[D&&(0,d.jsx)(l.A,{variant:"outlined",sx:{p:2,mb:3,maxHeight:"200px",overflow:"auto",fontFamily:"monospace",fontSize:"0.9rem",bgcolor:"dark"===h.palette.mode?"#121212":"#f5f5f5"},children:(0,d.jsx)(e.default,{component:"pre",sx:{m:0,whiteSpace:"pre-wrap"},children:C})}),(0,d.jsx)(m.Ay,{container:!0,spacing:2,children:w.map(a=>(0,d.jsx)(m.Ay,{item:!0,xs:12,sm:6,md:4,children:(0,d.jsx)(bt.A,{sx:{height:"100%",display:"flex",flexDirection:"column",transition:"transform 0.2s, box-shadow 0.2s",position:"relative",overflow:"visible","&:hover":{transform:"translateY(-4px)",boxShadow:6}},children:(0,d.jsxs)(bu.A,{sx:{flexGrow:1,display:"flex",flexDirection:"column",alignItems:"stretch"},onClick:()=>K(a),children:[(0,d.jsxs)(e.default,{sx:{p:2,display:"flex",alignItems:"center",borderBottom:"1px solid",borderColor:"divider",background:(a=>{let b="dark"===a.palette.mode?"#424242":"#607d8b",c="dark"===a.palette.mode?"#303030":"#455a64";return`linear-gradient(135deg, ${b} 0%, ${c} 100%)`})(h)},children:[(0,d.jsx)(bI,{sx:{bgcolor:"dark"===h.palette.mode?"#424242":"#607d8b",color:"#fff",mr:2,boxShadow:1},children:a.name.charAt(0).toUpperCase()}),(0,d.jsxs)(e.default,{sx:{flexGrow:1},children:[(0,d.jsx)(k.default,{variant:"h6",component:"div",sx:{textTransform:"capitalize",color:"#fff",textShadow:"0px 1px 2px rgba(0,0,0,0.2)"},children:a.name.replace(/-/g," ")}),(0,d.jsxs)(e.default,{sx:{display:"flex",alignItems:"center"},children:[(0,d.jsx)(ap.A,{size:"small",icon:(0,d.jsx)(bT,{}),label:"MCP",sx:{mr:1,bgcolor:"rgba(255,255,255,0.2)",color:"#fff","& .MuiChip-icon":{color:"#fff"}}}),(0,d.jsx)(k.default,{variant:"caption",sx:{color:"rgba(255,255,255,0.8)"},children:"Reference Server"})]})]})]}),(0,d.jsx)(bJ.A,{sx:{flexGrow:1,pt:2},children:(0,d.jsx)(k.default,{variant:"body2",color:"text.secondary",sx:{mb:2},children:a.description||`MCP Reference Server for ${a.name.replace(/-/g," ")}`})})]})})},a.name))})]})]})})},b4=({onAdd:a,onClose:b,setActiveTab:c,onUpdate:g})=>{let[h,i]=(0,f.useState)(""),[j,m]=(0,f.useState)(!1),[n,o]=(0,f.useState)(null),q=(a=>{if(!a)return!1;try{let b=new URL(a);return"http:"===b.protocol||"https:"===b.protocol}catch(a){return!1}})(h),u=async()=>{if(!q)return void o({type:"error",text:"Please enter a valid HTTP or HTTPS URL"});m(!0),o({type:"success",text:"Validating URL..."});try{let a=(a=>{try{return new URL(a).hostname.replace(/\./g,"-")}catch(a){return"remote-server"}})(h),b={name:a,transport:"streamable",serverUrl:h,rootPath:`mcp-servers/${a}`,disabled:!1,autoApprove:[],env:{},_buildCommand:"",_installCommand:""};g&&g(b),c&&c("local"),o({type:"success",text:"Switching to Local Server tab with pre-filled configuration..."})}catch(a){console.error("Error processing remote URL:",a),o({type:"error",text:`Error processing URL: ${a instanceof Error?a.message:"Unknown error"}`})}finally{m(!1)}};return(0,d.jsx)(l.A,{elevation:0,sx:{p:0},children:(0,d.jsxs)(r.A,{spacing:3,children:[(0,d.jsx)(k.default,{variant:"h6",gutterBottom:!0,children:"Connect to Remote MCP Server"}),(0,d.jsx)(k.default,{variant:"body2",color:"text.secondary",children:"Enter the URL of a remote MCP server that supports HTTP streaming. The server configuration will be automatically set up for you."}),(0,d.jsxs)(e.default,{children:[(0,d.jsx)(k.default,{variant:"subtitle2",gutterBottom:!0,children:"Server URL"}),(0,d.jsx)(s.A,{fullWidth:!0,size:"small",value:h,onChange:a=>{i(a.target.value),n&&o(null)},placeholder:"https://example.com/mcp",variant:"outlined",required:!0,error:h.length>0&&!q,helperText:h.length>0&&!q?"Please enter a valid HTTP or HTTPS URL":"Enter the full URL to the MCP server endpoint",disabled:j})]}),n&&(0,d.jsx)(e.default,{children:(0,d.jsx)(p.A,{severity:n.type,children:n.text})}),(0,d.jsxs)(e.default,{sx:{display:"flex",justifyContent:"flex-end",gap:1,mt:3},children:[(0,d.jsx)(t.A,{variant:"outlined",onClick:b,disabled:j,children:"Cancel"}),(0,d.jsx)(t.A,{variant:"contained",color:"primary",onClick:u,disabled:!q||j,children:j?"Connecting...":"Connect"})]})]})})};var b5=c(30137);let b6=({isOpen:a,onClose:b,onAdd:c,initialConfig:g,onUpdate:h,onRestartAfterUpdate:i})=>{let[j,l]=(0,f.useState)("spotlight"),[m,n]=(0,f.useState)(null),[o,p]=(0,f.useState)(!1),[q,r]=(0,f.useState)(""),[s,t]=(0,f.useState)({spotlight:!1,marketplace:!1,github:!1,local:!1,reference:!1,remote:!1});(0,f.useEffect)(()=>{g||s[j]||t(a=>({...a,[j]:!0}))},[j,g,s]);let{getThemeValue:u}=(0,w.Ic)(),x=()=>{n(null),p(!1),r(""),l("spotlight"),b()};return(0,d.jsxs)(bK.A,{open:a,onClose:x,maxWidth:"xl",fullWidth:!0,PaperProps:{sx:{width:"95vw",maxWidth:"95vw",maxHeight:"95vh",height:"auto"}},children:[(0,d.jsxs)(bL.A,{component:"div",sx:{display:"flex",justifyContent:"space-between",alignItems:"center",borderBottom:1,borderColor:"divider",pb:1},children:[(0,d.jsx)(k.default,{variant:"h6",children:g?`Edit MCP Server: ${g.name}`:"Add MCP Server"}),(0,d.jsx)(v.A,{edge:"end",color:"inherit",onClick:x,"aria-label":"close",children:(0,d.jsx)(b5.A,{})})]}),(0,d.jsxs)(bM.A,{sx:{p:0},children:[g?null:(0,d.jsx)(e.default,{sx:{borderBottom:1,borderColor:"divider"},children:(0,d.jsxs)(aJ.A,{value:j,onChange:(a,b)=>{p(!1),r(""),l(b)},"aria-label":"server configuration tabs",sx:{px:2},children:[(0,d.jsx)(aK.A,{label:"Spotlight",value:"spotlight"}),(0,d.jsx)(aK.A,{label:"Marketplace",value:"marketplace"}),(0,d.jsx)(aK.A,{label:"GitHub",value:"github"}),(0,d.jsx)(aK.A,{label:"Local Server",value:"local"}),(0,d.jsx)(aK.A,{label:"Remote",value:"remote"}),(0,d.jsx)(aK.A,{label:"Reference Servers",value:"reference"})]})}),(0,d.jsx)(e.default,{sx:{p:3},children:g?(0,d.jsx)(bf,{initialConfig:g,onAdd:c,onUpdate:h,onClose:b,onRestartAfterUpdate:i}):"spotlight"===j?(0,d.jsx)(b2,{onAdd:c,onClose:b,setActiveTab:l,onUpdate:(a,b)=>{n(a),p(!!b?.autoTestRun)}}):"marketplace"===j?(0,d.jsx)(b0,{onAdd:c,onClose:b,setActiveTab:l,onUpdate:(a,b)=>{n(a),p(!!b?.autoTestRun)},onOpenInGitHubTab:a=>{r(a),l("github")}}):"github"===j?(0,d.jsx)(af,{onAdd:c,onClose:b,setActiveTab:l,initialGitHubUrl:q,onUpdate:a=>{n(a),p(!1)}}):"local"===j?(0,d.jsx)(bf,{initialConfig:m,onAdd:c,onClose:b,autoTestRun:o}):"remote"===j?(0,d.jsx)(b4,{onAdd:c,onClose:b,setActiveTab:l,onUpdate:a=>{n(a),p(!1)}}):(0,d.jsx)(b3,{onAdd:c,onClose:b,setActiveTab:l,onUpdate:a=>{n(a),p(!1)}})})]})]})};var b7=c(91059),b8=c(42387),b9=c(45798),ca=c(18954),cb=c(31411);let cc=(0,j.h)("frontend/components/mcp/MCPToolManager/ToolTester"),cd=({serverName:a,tools:b=[],onTestTool:c,onClose:g})=>{cc.debug("Props:",{serverName:a,toolsCount:b?.length});let h=Array.isArray(b)?b:[];cc.debug("Tools array:",{count:h.length});let[j,m]=(0,f.useState)(""),[n,o]=(0,f.useState)({}),[q,r]=(0,f.useState)(null),[u,x]=(0,f.useState)(!1),[y,z]=(0,f.useState)(60),[A,B]=(0,f.useState)(null),[C,D]=(0,f.useState)(null),[E,F]=(0,f.useState)(null),[G,H]=(0,f.useState)(!1),[I,J]=(0,f.useState)(!1),K=async()=>{cc.debug(`Testing tool: ${j} with params:`,JSON.stringify(n)),cc.debug(`Timeout: ${y} seconds`),D(null),F(null),x(!0);try{let a={},b=h.find(a=>a.name===j);b?.inputSchema?.properties?Object.entries(n).forEach(([c,d])=>{let e=b.inputSchema.properties[c];if(!e){a[c]=d;return}if("number"===e.type||"integer"===e.type){let b="string"==typeof d?parseFloat(d):d;a[c]=isNaN(b)?0:b}else"boolean"===e.type?a[c]=!!d:a[c]=d}):Object.assign(a,n),cc.debug("Sending typed params:",JSON.stringify(a));let d=await c(j,a,y);cc.debug("Test result:",JSON.stringify(d)),d&&d.progressToken&&F(d.progressToken),r(d)}catch(a){cc.error("Error testing tool:",a),r({success:!1,output:"",error:a instanceof Error?a.message:"Unknown error occurred"})}x(!1)},L=async()=>{if(!G){H(!0),cc.debug("Cancelling tool execution");try{let b=E?`/api/mcp/cancel?token=${E}&serverName=${encodeURIComponent(a)}`:`/api/mcp/cancel?serverName=${encodeURIComponent(a)}`,c=await fetch(b,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({reason:"User cancelled operation"})});if(c.ok)cc.info("Successfully sent cancellation request"),B("Cancellation request sent. The operation should stop shortly.");else{let a=await c.json();cc.warn("Failed to cancel operation:",a),B(`Failed to cancel: ${a.error||"Unknown error"}`)}}catch(a){cc.error("Error cancelling tool:",a),B(`Error cancelling: ${a instanceof Error?a.message:"Unknown error"}`)}finally{H(!1)}}},M=h.find(a=>a.name===j);cc.debug("Selected tool data:",{name:M?.name,hasSchema:!!M?.inputSchema});let{getThemeValue:N}=(0,w.Ic)();return(0,d.jsxs)(l.A,{sx:{p:2,bgcolor:a=>a.palette.background.paper,color:a=>a.palette.text.primary,borderRadius:2,border:1,borderColor:a=>"dark"===a.palette.mode?"#3a3a3a":"#e5e7eb"},children:[(0,d.jsxs)(e.default,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",mb:2},children:[(0,d.jsxs)(k.default,{variant:"h6",sx:{fontWeight:"semibold"},children:["Tool Tester - ",a]}),g&&(0,d.jsx)(as.A,{title:"Close tool tester",children:(0,d.jsx)(v.A,{size:"small",onClick:g,"aria-label":"Close tool tester",children:(0,d.jsx)(b5.A,{fontSize:"small"})})})]}),A&&(0,d.jsx)(p.A,{severity:"error",sx:{mb:2},children:A}),(0,d.jsxs)(e.default,{sx:{mb:2},children:[(0,d.jsx)(k.default,{component:"label",variant:"body2",sx:{display:"block",mb:1,fontWeight:"medium",color:a=>"dark"===a.palette.mode?"#d1d5db":"#4b5563"},children:"Select Tool"}),(0,d.jsxs)(aY.A,{fullWidth:!0,value:j,onChange:a=>{m(a.target.value),o({}),r(null)},displayEmpty:!0,sx:{bgcolor:a=>a.palette.background.paper,"& .MuiOutlinedInput-notchedOutline":{borderColor:a=>"dark"===a.palette.mode?"#3a3a3a":"#e5e7eb"}},children:[(0,d.jsx)(aZ.A,{value:"",children:"Choose a tool..."}),h.map(a=>(0,d.jsx)(aZ.A,{value:a.name,children:a.name},a.name))]})]}),M?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(e.default,{sx:{mb:2},children:(0,d.jsx)(k.default,{variant:"body2",sx:{color:a=>"dark"===a.palette.mode?"#9ca3af":"#6b7280"},children:M.description})}),(0,d.jsxs)(e.default,{sx:{mb:2,display:"flex",flexDirection:"column",gap:2},children:[(0,d.jsx)(cb.A,{schema:M.inputSchema,values:n,onChange:o}),(0,d.jsxs)(e.default,{children:[(0,d.jsx)(k.default,{component:"label",variant:"body2",sx:{display:"block",mb:.5,fontWeight:"medium",color:a=>"dark"===a.palette.mode?"#d1d5db":"#4b5563"},children:"Timeout (seconds)"}),(0,d.jsx)(s.A,{type:"number",fullWidth:!0,size:"small",value:60===y?"":y,onChange:a=>(a=>{let b=parseInt(a,10);""===a||isNaN(b)||b<-1||0===b?z(60):z(b)})(a.target.value),placeholder:"Default: 60 seconds, -1 for no timeout",sx:{bgcolor:a=>a.palette.background.paper,"& .MuiOutlinedInput-notchedOutline":{borderColor:a=>"dark"===a.palette.mode?"#3a3a3a":"#e5e7eb"}}}),(0,d.jsx)(k.default,{variant:"caption",sx:{display:"block",mt:.5,color:a=>"dark"===a.palette.mode?"#9ca3af":"#6b7280"},children:"Default: 60 seconds. Use -1 for no timeout. Value of 0 will be treated as 60."})]})]}),(0,d.jsxs)(e.default,{sx:{display:"flex",gap:1},children:[(0,d.jsx)(t.A,{variant:"contained",color:"primary",onClick:K,disabled:u,startIcon:u&&(0,d.jsx)(i.default,{size:"small",color:"white"}),children:u?"Testing...":"Test Tool"}),u&&(0,d.jsx)(t.A,{variant:"contained",color:"error",onClick:L,disabled:G,startIcon:G?(0,d.jsx)(i.default,{size:"small",color:"white"}):(0,d.jsx)(e.default,{component:"span",sx:{display:"flex",alignItems:"center",justifyContent:"center",width:16,height:16},children:(0,d.jsx)("svg",{width:"16",height:"16",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M6 18L18 6M6 6l12 12"})})}),children:G?"Cancelling...":"Cancel"})]}),u&&(0,d.jsxs)(e.default,{sx:{mt:2},children:[!C&&(0,d.jsxs)(e.default,{sx:{display:"flex",alignItems:"center",gap:1,mb:1},children:[(0,d.jsx)(i.default,{size:"small",color:"primary"}),(0,d.jsx)(k.default,{variant:"body2",color:"text.secondary",children:"Processing request..."})]}),C&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(e.default,{sx:{display:"flex",justifyContent:"space-between",mb:.5},children:[(0,d.jsx)(k.default,{variant:"body2",color:"text.secondary",children:"Progress:"}),(0,d.jsx)(k.default,{variant:"body2",color:"text.secondary",children:C.total?`${Math.round(C.current)}/${Math.round(C.total)} (${Math.round(C.current/C.total*100)}%)`:`${Math.round(C.current)}%`})]}),(0,d.jsx)(b8.A,{variant:"determinate",value:C.total?Math.min(100,C.current/C.total*100):Math.min(100,C.current)})]})]})]}):(0,d.jsx)(k.default,{color:"text.secondary",children:"No tool selected or tool details not found."}),q&&(0,d.jsxs)(l.A,{sx:{mt:2,p:2,bgcolor:a=>"dark"===a.palette.mode?"#1a1a1a":"#f9fafb"},children:[(0,d.jsxs)(e.default,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",mb:1},children:[(0,d.jsx)(k.default,{variant:"subtitle1",sx:{fontWeight:"medium"},children:"Result:"}),(0,d.jsx)(aq.A,{control:(0,d.jsx)(aV.A,{checked:I,onChange:a=>J(a.target.checked),size:"small"}),label:"Show Raw",sx:{mr:0}})]}),I?(0,d.jsx)(e.default,{component:"pre",sx:{whiteSpace:"pre-wrap",wordBreak:"break-all",fontSize:"0.875rem",p:1,borderRadius:1,border:1,borderColor:a=>"dark"===a.palette.mode?"#3a3a3a":"#e5e7eb",bgcolor:a=>a.palette.background.paper,color:a=>a.palette.text.primary,overflow:"auto",maxHeight:"400px"},children:q.success?q.output:`Error: ${q.error}`}):q.success?(()=>{try{let a=JSON.parse(q.output);if(a&&a.data&&Array.isArray(a.data.content))return(0,d.jsx)(e.default,{sx:{display:"flex",flexDirection:"column",gap:1},children:a.data.content.map((a,b)=>"text"===a.type?(0,d.jsx)(b9.oz,{remarkPlugins:[ca.A],children:a.text},b):"image"===a.type&&a.data&&a.mimeType?(0,d.jsx)("img",{src:`data:${a.mimeType};base64,${a.data}`,alt:`Tool Result Image ${b+1}`,style:{maxWidth:"100%",height:"auto",borderRadius:"4px"}},b):"audio"===a.type&&a.data&&a.mimeType?(0,d.jsx)("audio",{controls:!0,src:`data:${a.mimeType};base64,${a.data}`,style:{width:"100%"},children:"Your browser does not support the audio element."},b):(0,d.jsx)(e.default,{component:"pre",sx:{whiteSpace:"pre-wrap",wordBreak:"break-all",fontSize:"0.875rem",p:1,borderRadius:1,border:1,borderColor:a=>"dark"===a.palette.mode?"#3a3a3a":"#e5e7eb",bgcolor:a=>a.palette.background.paper,color:a=>a.palette.text.primary,overflow:"auto"},children:JSON.stringify(a,null,2)},b))});throw Error("Output is valid JSON but not in the expected MCP 'data.content' format.")}catch(a){return(0,d.jsx)(e.default,{component:"pre",sx:{whiteSpace:"pre-wrap",wordBreak:"break-all",fontSize:"0.875rem",p:1,borderRadius:1,border:1,borderColor:a=>"dark"===a.palette.mode?"#3a3a3a":"#e5e7eb",bgcolor:a=>a.palette.background.paper,color:a=>a.palette.text.primary,overflow:"auto"},children:q.output})}})():(0,d.jsxs)(k.default,{color:"error.main",children:["Error: ",q.error]})]})]})};var ce=c(88117);let cf=(0,j.h)("frontend/components/mcp/MCPToolManager"),cg=({serverName:a,onClose:b})=>{let{tools:c,isLoading:e,error:g,loadTools:h,retryLoadTools:j,isRetrying:k,retryCount:l,testTool:m}=(0,ce.O)(a),n=async(a,b,c)=>(cf.debug(`Testing tool ${a} with params:`,b),void 0!==c&&cf.debug(`Using timeout: ${c} seconds`),await m(a,b,c));(0,f.useEffect)(()=>{if(a){let b=setInterval(()=>{cf.debug("Periodic tool refresh"),a5.S.clearToolsCache(a),h(!0)},3e4);return()=>clearInterval(b)}},[h,a]);let{getThemeValue:o}=(0,w.Ic)();return g&&(!c||0===c.length)?(0,d.jsxs)("div",{className:"mt-8 border rounded-lg p-4",style:{backgroundColor:o("#fef2f2","#3a2222"),borderColor:o("#fecaca","#5a3333"),color:o("#333","#f0f0f0")},children:[(0,d.jsxs)("h3",{className:"text-lg font-semibold mb-4",style:{color:o("#111","#f8f8f8")},children:["Tool Manager - ",a||"No Server Selected"]}),(0,d.jsxs)("div",{className:"text-red-500",children:[(0,d.jsxs)("p",{children:["Error loading tools: ",g]}),(0,d.jsx)("button",{onClick:()=>{a&&a5.S.clearToolsCache(a),j()},className:"mt-2 px-3 py-1 bg-blue-500 text-white rounded hover:bg-blue-600 flex items-center",disabled:k,children:k?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(i.default,{size:"small",color:"white",className:"mr-2"}),"Retrying..."]}):"Retry"}),l>0&&(0,d.jsxs)("p",{className:"text-sm mt-1",children:["Retry attempt: ",l]})]})]}):a?(0,d.jsxs)("div",{className:"mt-8",style:{color:o("#333","#f0f0f0")},children:[(0,d.jsx)(cd,{serverName:a,tools:c,onTestTool:n,onClose:b}),e&&(0,d.jsxs)("div",{className:"mt-4 flex items-center space-x-2 text-blue-500",children:[(0,d.jsx)(i.default,{size:"small",color:"primary"}),(0,d.jsx)("p",{children:"Loading tools..."})]}),g&&c&&c.length>0&&(0,d.jsxs)("div",{className:"mt-2 text-yellow-500",children:[(0,d.jsxs)("p",{children:["Warning: ",g]}),(0,d.jsx)("p",{className:"text-sm",children:"Using cached tools. Some tools may be unavailable."}),(0,d.jsx)("button",{onClick:()=>{a&&a5.S.clearToolsCache(a),j()},className:"mt-1 px-2 py-1 text-xs bg-blue-500 text-white rounded hover:bg-blue-600 flex items-center",disabled:k,children:k?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(i.default,{size:"small",color:"white",className:"mr-1"}),(0,d.jsx)("span",{className:"text-xs",children:"Retrying..."})]}):"Retry"}),l>0&&(0,d.jsxs)("p",{className:"text-xs mt-1",children:["Retry attempt: ",l]})]})]}):(0,d.jsxs)("div",{className:"mt-8 border rounded-lg p-4",style:{backgroundColor:o("white","#2a2a2a"),borderColor:o("#e5e7eb","#3a3a3a"),color:o("#333","#f0f0f0")},children:[(0,d.jsx)("h3",{className:"text-lg font-semibold mb-4",style:{color:o("#111","#f8f8f8")},children:"Tool Manager"}),(0,d.jsx)("p",{style:{color:o("#6b7280","#9ca3af")},children:"Please select a server to view and test tools."})]})},ch=(0,j.h)("frontend/components/mcp/MCPCapabilitiesManager"),ci=({serverName:a,show:b="both"})=>{let c="both"===b||"resources"===b,g="both"===b||"prompts"===b,[h,i]=(0,f.useState)([]),[j,m]=(0,f.useState)([]),[n,o]=(0,f.useState)([]),[q,u]=(0,f.useState)(!1),[v,w]=(0,f.useState)(),[x,y]=(0,f.useState)(null),[z,A]=(0,f.useState)(""),[B,C]=(0,f.useState)(!1),[D,E]=(0,f.useState)(),[F,G]=(0,f.useState)({}),H=(0,f.useCallback)(async()=>{if(a){u(!0),w(void 0);try{let[b,d]=await Promise.all([c?a5.S.listServerResources(a):Promise.resolve(null),g?a5.S.listServerPrompts(a):Promise.resolve(null)]);b&&(i(b.resources||[]),m(b.resourceTemplates||[])),d&&o(d.prompts||[]),w(b?.error||d?.error)}catch(a){ch.warn("Failed to load capabilities",a),w(a instanceof Error?a.message:"Failed to load capabilities")}finally{u(!1)}}},[a,c,g]);(0,f.useEffect)(()=>{y(null),A(""),E(void 0),H()},[H]);let I=async(b,c)=>{y(`Resource: ${c}`),A(""),E(void 0),C(!0);try{let c=await a5.S.readResource(a,b);c.success?A(function(a){let b=a?.contents;return Array.isArray(b)&&0!==b.length?b.map(a=>"string"==typeof a.text?a.text:"string"==typeof a.blob?`[binary ${a.mimeType||"data"}: ${a.blob.length} base64 chars]`:JSON.stringify(a,null,2)).join("\n\n---\n\n"):"(no contents)"}(c.data)):E(c.error||"Failed to read resource")}finally{C(!1)}},J=async b=>{y(`Prompt: ${b.name}`),A(""),E(void 0),C(!0);try{let c=await a5.S.getPrompt(a,b.name,F[b.name]);c.success?A(function(a){let b=a?.messages;return Array.isArray(b)&&0!==b.length?b.map(a=>{let b,c=a.role||"user",d=a.content;return b="string"==typeof d?.text?d.text:d?.type==="resource"?`[embedded resource: ${d.resource?.uri||""}]`:JSON.stringify(d,null,2),`[${c}]
45
45
  ${b}`}).join("\n\n"):"(no messages)"}(c.data)):E(c.error||"Failed to get prompt")}finally{C(!1)}},K=!q&&!v&&(!c||0===h.length&&0===j.length)&&(!g||0===n.length);return(0,d.jsxs)(l.A,{variant:"outlined",sx:{p:2},children:[(0,d.jsxs)(e.default,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",mb:1},children:[(0,d.jsx)(k.default,{variant:"h6",children:"resources"===b?"Resources":"prompts"===b?"Prompts":"Resources & Prompts"}),(0,d.jsx)(t.A,{size:"small",onClick:()=>{a5.S.clearCapabilitiesCache(a),H()},disabled:q,children:"Refresh"})]}),q&&(0,d.jsxs)(e.default,{sx:{display:"flex",alignItems:"center",gap:1,py:2},children:[(0,d.jsx)(am.default,{size:18}),(0,d.jsx)(k.default,{variant:"body2",children:"Loading capabilities…"})]}),v&&(0,d.jsx)(p.A,{severity:"warning",sx:{mb:2},children:v}),K&&(0,d.jsx)(k.default,{variant:"body2",color:"text.secondary",sx:{py:1},children:"resources"===b?"This server doesn't publish any resources.":"prompts"===b?"This server doesn't publish any prompts.":"This server doesn't publish any resources or prompts."}),(0,d.jsxs)(e.default,{sx:{display:"flex",gap:2,flexWrap:"wrap",alignItems:"flex-start"},children:[(0,d.jsxs)(e.default,{sx:{flex:"1 1 360px",minWidth:280},children:[c&&(h.length>0||j.length>0)&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(k.default,{variant:"subtitle2",sx:{mt:1},children:"Resources"}),(0,d.jsx)(bN.A,{dense:!0,disablePadding:!0,children:h.map(a=>(0,d.jsxs)(bO.A,{onClick:()=>I(a.uri,a.name||a.uri),children:[(0,d.jsx)(bQ.A,{primary:a.name||a.uri,secondary:a.description||a.uri,slotProps:{secondary:{sx:{wordBreak:"break-all"}}}}),a.mimeType&&(0,d.jsx)(ap.A,{size:"small",label:a.mimeType,sx:{ml:1}})]},a.uri))}),j.length>0&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(k.default,{variant:"caption",color:"text.secondary",sx:{mt:1,display:"block"},children:"Templates (parameterized URIs)"}),(0,d.jsx)(bN.A,{dense:!0,disablePadding:!0,children:j.map(a=>(0,d.jsx)(bQ.A,{sx:{pl:2,py:.5},primary:a.name||a.uriTemplate,secondary:a.uriTemplate,slotProps:{secondary:{sx:{wordBreak:"break-all"}}}},a.uriTemplate))})]})]}),g&&n.length>0&&(0,d.jsxs)(d.Fragment,{children:["both"===b&&(0,d.jsx)(b7.A,{sx:{my:1}}),(0,d.jsx)(k.default,{variant:"subtitle2",children:"Prompts"}),(0,d.jsx)(r.A,{spacing:1,sx:{mt:.5},children:n.map(a=>(0,d.jsxs)(e.default,{sx:{border:"1px solid",borderColor:"divider",borderRadius:1,p:1},children:[(0,d.jsx)(k.default,{variant:"body2",sx:{fontWeight:600},children:a.name}),a.description&&(0,d.jsx)(k.default,{variant:"caption",color:"text.secondary",children:a.description}),(a.arguments||[]).map(b=>(0,d.jsx)(s.A,{size:"small",fullWidth:!0,margin:"dense",label:`${b.name}${b.required?" *":""}`,placeholder:b.description||"",value:F[a.name]?.[b.name]||"",onChange:c=>((a,b,c)=>{G(d=>({...d,[a]:{...d[a]||{},[b]:c}}))})(a.name,b.name,c.target.value)},b.name)),(0,d.jsx)(t.A,{size:"small",sx:{mt:.5},onClick:()=>J(a),children:"Preview"})]},a.name))})]})]}),x&&(0,d.jsxs)(e.default,{sx:{flex:"1 1 360px",minWidth:280},children:[(0,d.jsx)(k.default,{variant:"subtitle2",children:x}),B?(0,d.jsxs)(e.default,{sx:{display:"flex",alignItems:"center",gap:1,py:2},children:[(0,d.jsx)(am.default,{size:16}),(0,d.jsx)(k.default,{variant:"body2",children:"Loading…"})]}):D?(0,d.jsx)(p.A,{severity:"error",sx:{mt:1},children:D}):(0,d.jsx)(e.default,{component:"pre",sx:{mt:1,p:1,bgcolor:"action.hover",borderRadius:1,maxHeight:360,overflow:"auto",fontSize:12,whiteSpace:"pre-wrap",wordBreak:"break-word"},children:z||"(empty)"})]})]})]})},cj=(0,j.h)("frontend/components/mcp/MCPServerManager/ServerDetailsModal"),ck=({server:a,onClose:b,onSaveEnv:c,onServerRestart:g})=>{let[h,i]=(0,f.useState)("tools");(0,f.useEffect)(()=>{a&&i("tools")},[a?.name]);let j=null!==a,l=a?.name||"",m=async b=>{a&&(cj.debug(`Saving env for ${a.name}`),await c(a.name,b))};return(0,d.jsxs)(bK.A,{open:j,onClose:b,maxWidth:"lg",fullWidth:!0,PaperProps:{sx:{height:"85vh",maxHeight:"85vh"}},children:[(0,d.jsxs)(bL.A,{component:"div",sx:{pb:0},children:[(0,d.jsxs)(e.default,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[(0,d.jsxs)(e.default,{sx:{display:"flex",alignItems:"baseline",gap:1.5},children:[(0,d.jsx)(k.default,{variant:"h6",children:l}),a&&(0,d.jsx)(k.default,{variant:"body2",sx:{color:(a=>"connected"===a?"success.main":"error"===a?"error.main":"connecting"===a||"initialization"===a?"info.main":"text.secondary")(a.status)},children:a.status})]}),(0,d.jsx)(v.A,{edge:"end",onClick:b,"aria-label":"close",children:(0,d.jsx)(b5.A,{})})]}),(0,d.jsxs)(aJ.A,{value:h,onChange:(a,b)=>i(b),sx:{mt:1},children:[(0,d.jsx)(aK.A,{label:"Tools",value:"tools"}),(0,d.jsx)(aK.A,{label:"Resources",value:"resources"}),(0,d.jsx)(aK.A,{label:"Prompts",value:"prompts"}),(0,d.jsx)(aK.A,{label:"Environment Variables",value:"env"})]})]}),(0,d.jsx)(b7.A,{}),(0,d.jsxs)(bM.A,{sx:{overflow:"auto"},children:[j&&"tools"===h&&(0,d.jsx)(cg,{serverName:l}),j&&"resources"===h&&(0,d.jsx)(ci,{serverName:l,show:"resources"}),j&&"prompts"===h&&(0,d.jsx)(ci,{serverName:l,show:"prompts"}),j&&"env"===h&&(0,d.jsx)(e.default,{sx:{mt:1},children:(0,d.jsx)(ao.A,{serverName:l,initialEnv:a?.env||{},onSave:m,onServerRestart:async a=>{await g(a)}})})]})]})};var cl=c(53455),cm=c(63650),cn=c(44920),co=c(7118),cp=c(7503);let cq=(0,a$.A)((0,d.jsx)("path",{d:"M5 20h14v-2H5zm0-10h4v6h6v-6h4l-7-7z"}),"Upload");var cr=c(27409),cs=c(63757),ct=c(11402),cu=c(8165),cv=c(49066);let cw=(0,a$.A)((0,d.jsx)("path",{d:"M6 6h12v12H6z"}),"Stop"),cx=(0,a$.A)((0,d.jsx)("path",{d:"M3 5h2V3c-1.1 0-2 .9-2 2m0 8h2v-2H3zm4 8h2v-2H7zM3 9h2V7H3zm10-6h-2v2h2zm6 0v2h2c0-1.1-.9-2-2-2M5 21v-2H3c0 1.1.9 2 2 2m-2-4h2v-2H3zM9 3H7v2h2zm2 18h2v-2h-2zm8-8h2v-2h-2zm0 8c1.1 0 2-.9 2-2h-2zm0-12h2V7h-2zm0 8h2v-2h-2zm-4 4h2v-2h-2zm0-16h2V3h-2zM7 17h10V7H7zm2-8h6v6H9z"}),"SelectAll");var cy=c(9863),cz=c(81310),cA=c(18467),cB=c(59737),cC=c(7329),cD=c(61160),cE=c(2560);let cF=(0,j.h)("frontend/components/mcp/MCPServerManager"),cG=({onServerModalToggle:a})=>{let{servers:b,isLoading:c,loadError:g,connectingServers:h,toggleServer:i,retryServer:j,deleteServer:m,addServer:n,updateServer:p,setServerFolder:q,saveEnv:r}=(0,cm.v)(),[w,x]=(0,f.useState)(!1),[y,z]=(0,f.useState)(null),[A,B]=(0,f.useState)(!1),[C,D]=(0,f.useState)(""),[E,F]=(0,f.useState)(null),[G,H]=(0,f.useState)(!1),[I,J]=(0,f.useState)("claude"),[K,L]=(0,f.useState)(null),[M,N]=(0,f.useState)(null),[O,P]=(0,f.useState)(null),[Q,R]=(0,f.useState)({}),S=(0,f.useMemo)(()=>Array.from(new Set(b.filter(a=>"stdio"===a.transport&&a.rootPath).map(a=>a.rootPath))).join("|"),[b]);(0,f.useEffect)(()=>{let a=S.split("|").filter(Boolean);if(0===a.length)return;let b=!1;return(0,cl.M8)(a).then(a=>{b||R(b=>({...b,...a}))}).catch(a=>cF.warn("Server update check failed",a)),()=>{b=!0}},[S]);let T=async(a,b)=>{cF.info(`Server ${a} updated from git, refreshing update status`);let c=S.split("|").filter(Boolean),d=await (0,cl.M8)(c.length>0?c:[b],!0);R(a=>({...a,...d}))},U=a=>{let c=b.find(b=>b.name===a);if(!c||c.disabled)return void cF.debug(`Not opening details for ${a} (missing or disabled)`);P(a)},V=async a=>{await i(a,!1),await i(a,!0)},W=O&&b.find(a=>a.name===O)||null,[X,Y]=(0,f.useState)(""),[Z,$]=(0,cE.Xk)("flujo-ui:mcp:sort","name-asc"),[_,aa]=(0,cE.Xk)("flujo-ui:mcp:filter","all"),[ab,ac]=(0,f.useState)(null),[ad,ae]=(0,cE.Xk)("flujo-ui:mcp:group","none"),[af,ag]=(0,f.useState)(null),[ah,aj]=(0,cE.Xk)("flujo-ui:mcp:collapsed",[]),ak=(0,f.useMemo)(()=>new Set(ah),[ah]),[al,am]=(0,f.useState)(!1),[an,ao]=(0,f.useState)(new Set),[ap,aq]=(0,f.useState)({open:!1,action:null}),ar=(0,ai.A)(),as=async(a,b)=>{cF.debug(`Toggling server ${a} to ${b?"enabled":"disabled"}`),await i(a,b)},at=async a=>{cF.debug(`Retrying pulling server status for server: ${a}`),await j(a)},av=async a=>{cF.debug(`Deleting server: ${a}`),await m(a)},aw=b=>{cF.debug(`Editing server: ${b.name}`),z(b),x(!0),a?.(!0)},ay=async b=>{cF.debug(`Adding server: ${b.name}`),await n(b),x(!1),z(null),a?.(!1)},az=async b=>{let c=y?.name;cF.debug(`Updating server: ${c??b.name}`+(c&&c!==b.name?` -> ${b.name}`:"")),await p(b,c),x(!1),z(null),a?.(!1)},aA=async()=>{let a=(0,cn.Kt)(I);cF.debug(`Importing server configurations from ${a.label} format`),F(null);let{servers:c,errors:d}=a.import(C);if(0===c.length)return void F(d.length>0?d.join("\n"):"No servers found in the pasted configuration.");H(!0);let e=new Set(b.map(a=>a.name)),f=0,g=0,h=[];for(let a of c)try{e.has(a.name)?(await p(a),g++):(await n(a),e.add(a.name),f++)}catch(b){h.push(`"${a.name}": ${b.message||"failed to import"}`)}H(!1);let i=[...d,...h];if(0===f&&0===g)return void F(i.length>0?i.join("\n"):"No servers could be imported.");cF.info(`Imported MCP servers: ${f} added, ${g} updated`),i.length>0?F(`Imported ${f} added / ${g} updated. Some entries were skipped:
46
- ${i.join("\n")}`):(B(!1),D(""))},aB=()=>{B(!1),D(""),F(null)},aC=(0,f.useMemo)(()=>{cF.debug("Filtering and sorting servers",{searchTerm:X,sortOption:Z,filterOption:_});let a=b;if(""!==X.trim()){let c=X.toLowerCase();a=b.filter(a=>a.name.toLowerCase().includes(c)||a.rootPath?.toLowerCase().includes(c))}return"all"!==_&&(a=a.filter(a=>{switch(_){case"connected":return"connected"===a.status;case"disconnected":return"disconnected"===a.status;case"error":return"error"===a.status;case"enabled":return!a.disabled;case"disabled":return a.disabled;case"stdio":case"websocket":case"sse":case"streamable":return a.transport===_;default:return!0}})),(0,cD.rI)(a,Z)},[b,X,Z,_]),aD=(0,f.useMemo)(()=>(0,cC.yF)(b,a=>a.folder),[b]),aE=(0,f.useMemo)(()=>"folder"===ad?(0,cC.Je)(aC,a=>a.folder):"sort"===ad?(0,cC.Az)(aC,a=>(0,cD.mO)(a,Z)):[],[ad,aC,Z]),aF=a=>{ae(a),ag(null)},aG=async()=>{cF.debug("Bulk enabling servers",{selectedServers:Array.from(an)});let a=Array.from(an).map(a=>as(a,!0));await Promise.all(a),ao(new Set),aq({open:!1,action:null})},aH=async()=>{cF.debug("Bulk disabling servers",{selectedServers:Array.from(an)});let a=Array.from(an).map(a=>as(a,!1));await Promise.all(a),ao(new Set),aq({open:!1,action:null})},aI=(a,b)=>{let c=new Set(an);b?c.add(a):c.delete(a),ao(c)},aJ=()=>{ac(null)},aK=a=>{$(a),aJ()},aL=a=>(0,d.jsx)(o,{servers:a.map(a=>({...a,tools:[]})),isLoading:c,loadError:g,onServerSelect:U,onServerToggle:as,onServerRetry:at,onServerDelete:av,onServerEdit:aw,selectionMode:al,selectedServers:an,onServerSelectionChange:aI,updates:Q,onServerUpdated:T,folders:aD,onServerSetFolder:q});return(0,d.jsxs)(e.default,{sx:{color:"text.primary"},children:[(0,d.jsxs)(e.default,{sx:{p:2,display:"flex",justifyContent:"space-between",alignItems:"center",borderBottom:1,borderColor:"divider"},children:[(0,d.jsx)(k.default,{variant:"h5",children:"MCP"}),(0,d.jsxs)(e.default,{sx:{display:"flex",gap:1},children:[(0,d.jsx)(t.A,{variant:"outlined",color:"primary",onClick:a=>N(a.currentTarget),startIcon:(0,d.jsx)(cq,{}),endIcon:(0,d.jsx)(cr.A,{}),sx:{textTransform:"none",fontWeight:500},children:"Import"}),(0,d.jsx)(co.A,{anchorEl:M,open:!!M,onClose:()=>N(null),children:cn._i.map(a=>(0,d.jsx)(aZ.A,{onClick:()=>{J(a.id),D(""),F(null),N(null),B(!0)},children:(0,d.jsx)(bQ.A,{primary:`${a.label} format`})},a.id))}),(0,d.jsx)(t.A,{variant:"contained",color:"primary",onClick:a=>L(a.currentTarget),startIcon:(0,d.jsx)(b$,{}),endIcon:(0,d.jsx)(cr.A,{}),sx:{textTransform:"none",fontWeight:500,boxShadow:1},children:"Export"}),(0,d.jsx)(co.A,{anchorEl:K,open:!!K,onClose:()=>L(null),children:cn._i.map(a=>(0,d.jsx)(aZ.A,{onClick:()=>(a=>{let c=(0,cn.Kt)(a);cF.debug(`Exporting server configurations in ${c.label} format`),L(null);let d=new Blob([JSON.stringify(c.export(b,{proxyBaseUrl:""}),null,2)],{type:"application/json"}),e=URL.createObjectURL(d),f=document.createElement("a");f.href=e,f.download=c.fileName,document.body.appendChild(f),f.click(),document.body.removeChild(f),URL.revokeObjectURL(e)})(a.id),children:(0,d.jsx)(bQ.A,{primary:`${a.label} format`})},a.id))}),(0,d.jsx)(t.A,{variant:"contained",color:"primary","data-tour":"add-mcp-server",onClick:()=>{z(null),x(!0),a?.(!0)},startIcon:(0,d.jsx)(au.A,{}),sx:{textTransform:"none",fontWeight:500,boxShadow:1},children:"Add Server"})]})]}),(0,d.jsx)(l.A,{elevation:1,sx:{m:2,mb:1,p:1},children:(0,d.jsxs)(e.default,{sx:{display:"flex",flexDirection:{xs:"column",sm:"row"},gap:1,alignItems:{xs:"stretch",sm:"center"},justifyContent:"space-between"},children:[(0,d.jsx)(s.A,{placeholder:"Search servers...",variant:"outlined",size:"small",fullWidth:!0,value:X,onChange:a=>Y(a.target.value),InputProps:{startAdornment:(0,d.jsx)(u.A,{position:"start",children:(0,d.jsx)(bS.A,{fontSize:"small"})})},sx:{maxWidth:{sm:300}}}),(0,d.jsxs)(e.default,{sx:{display:"flex",gap:1,alignItems:"center",flexWrap:"wrap"},children:[(0,d.jsx)(t.A,{size:"small",variant:al?"contained":"outlined",onClick:()=>{am(!al),al&&ao(new Set)},startIcon:(0,d.jsx)(cx,{}),children:"Select"}),al&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(t.A,{size:"small",onClick:()=>{let a=aC.filter(a=>!a.builtIn);an.size===a.length?ao(new Set):ao(new Set(a.map(a=>a.name)))},disabled:0===aC.filter(a=>!a.builtIn).length,children:an.size===aC.filter(a=>!a.builtIn).length&&an.size>0?"Deselect All":"Select All"}),an.size>0&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(t.A,{size:"small",variant:"contained",color:"success",onClick:()=>aq({open:!0,action:"enable"}),startIcon:(0,d.jsx)(cv.A,{}),children:["Enable (",an.size,")"]}),(0,d.jsxs)(t.A,{size:"small",variant:"contained",color:"error",onClick:()=>aq({open:!0,action:"disable"}),startIcon:(0,d.jsx)(cw,{}),children:["Disable (",an.size,")"]})]})]}),(0,d.jsx)(v.A,{size:"small",onClick:a=>ag(a.currentTarget),color:"none"!==ad?"primary":"default",sx:{border:`1px solid ${ar.palette.divider}`,backgroundColor:ar.palette.background.default},title:"Group cards",children:(0,d.jsx)(cy.A,{fontSize:"small"})}),(0,d.jsx)(v.A,{size:"small",onClick:a=>{ac(a.currentTarget)},sx:{border:`1px solid ${ar.palette.divider}`,backgroundColor:ar.palette.background.default},children:(0,d.jsx)(cs.A,{fontSize:"small"})})]})]})}),(0,d.jsxs)(e.default,{sx:{display:"flex",justifyContent:"space-between",mb:2,px:3},children:[(0,d.jsxs)(k.default,{variant:"body2",color:"textSecondary",children:[aC.length," of ",b.length," servers",X&&` matching "${X}"`,"all"!==_&&` (filtered by ${_})`]}),(0,d.jsxs)(k.default,{variant:"body2",color:"textSecondary",children:["Sorted by: ","name-asc"===Z?"Name (A-Z)":"name-desc"===Z?"Name (Z-A)":"status-connected"===Z?"Connected first":"status-disconnected"===Z?"Disconnected first":"Transport type"]})]}),(0,d.jsx)(e.default,{sx:{px:2,flex:1,overflow:"auto"},children:"none"===ad||c||g||0===aC.length?aL(aC):aE.map(a=>(0,d.jsx)(cB.A,{label:a.label,count:a.items.length,expanded:!ak.has(a.key),onToggle:()=>(a=>{aj(b=>b.includes(a)?b.filter(b=>b!==a):[...b,a])})(a.key),showFolderIcon:"folder"===ad,children:aL(a.items)},a.key))}),(0,d.jsxs)(co.A,{anchorEl:af,open:!!af,onClose:()=>ag(null),anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},children:[(0,d.jsxs)(aZ.A,{selected:"none"===ad,onClick:()=>aF("none"),children:[(0,d.jsx)(bP.A,{children:(0,d.jsx)(cz.A,{fontSize:"small"})}),(0,d.jsx)(bQ.A,{primary:"No grouping"})]}),(0,d.jsxs)(aZ.A,{selected:"folder"===ad,onClick:()=>aF("folder"),children:[(0,d.jsx)(bP.A,{children:(0,d.jsx)(cA.A,{fontSize:"small"})}),(0,d.jsx)(bQ.A,{primary:"By folder"})]}),(0,d.jsxs)(aZ.A,{selected:"sort"===ad,onClick:()=>aF("sort"),children:[(0,d.jsx)(bP.A,{children:(0,d.jsx)(cy.A,{fontSize:"small"})}),(0,d.jsx)(bQ.A,{primary:"By sort setting"})]})]}),(0,d.jsxs)(co.A,{anchorEl:ab,open:!!ab,onClose:aJ,anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},children:[(0,d.jsxs)(aZ.A,{onClick:()=>aK("name-asc"),children:[(0,d.jsx)(bP.A,{children:(0,d.jsx)(ct.A,{fontSize:"small"})}),(0,d.jsx)(bQ.A,{primary:"Name (A-Z)"})]}),(0,d.jsxs)(aZ.A,{onClick:()=>aK("name-desc"),children:[(0,d.jsx)(bP.A,{children:(0,d.jsx)(ct.A,{fontSize:"small",sx:{transform:"scaleX(-1)"}})}),(0,d.jsx)(bQ.A,{primary:"Name (Z-A)"})]}),(0,d.jsx)(b7.A,{}),(0,d.jsxs)(aZ.A,{onClick:()=>aK("status-connected"),children:[(0,d.jsx)(bP.A,{children:(0,d.jsx)(cu.A,{fontSize:"small"})}),(0,d.jsx)(bQ.A,{primary:"Connected first"})]}),(0,d.jsxs)(aZ.A,{onClick:()=>aK("status-disconnected"),children:[(0,d.jsx)(bP.A,{children:(0,d.jsx)(ax.A,{fontSize:"small"})}),(0,d.jsx)(bQ.A,{primary:"Disconnected first"})]}),(0,d.jsx)(b7.A,{}),(0,d.jsxs)(aZ.A,{onClick:()=>aK("transport"),children:[(0,d.jsx)(bP.A,{children:(0,d.jsx)(bV.A,{fontSize:"small"})}),(0,d.jsx)(bQ.A,{primary:"Transport type"})]})]}),(0,d.jsxs)(bK.A,{open:ap.open,onClose:()=>aq({open:!1,action:null}),children:[(0,d.jsx)(bL.A,{children:"enable"===ap.action?"Enable Servers":"Disable Servers"}),(0,d.jsxs)(bM.A,{children:[(0,d.jsxs)(cp.A,{children:["Are you sure you want to ",ap.action," ",an.size," server",an.size>1?"s":"","?"]}),(0,d.jsx)(e.default,{sx:{mt:2},children:Array.from(an).map(a=>(0,d.jsxs)(k.default,{variant:"body2",sx:{ml:2},children:["• ",a]},a))})]}),(0,d.jsxs)(bR.A,{children:[(0,d.jsx)(t.A,{onClick:()=>aq({open:!1,action:null}),children:"Cancel"}),(0,d.jsx)(t.A,{onClick:"enable"===ap.action?aG:aH,variant:"contained",color:"enable"===ap.action?"success":"error",children:"enable"===ap.action?"Enable":"Disable"})]})]}),(0,d.jsxs)(bK.A,{open:A,onClose:aB,maxWidth:"md",fullWidth:!0,children:[(0,d.jsxs)(bL.A,{children:["Import MCP Servers — ",(0,cn.Kt)(I).label," format"]}),(0,d.jsxs)(bM.A,{children:[(0,d.jsxs)(cp.A,{sx:{mb:2},children:["Paste a ",(0,cn.Kt)(I).label,"-style MCP configuration (the"," ",(0,d.jsx)("code",{children:'{ "mcpServers": { ... } }'})," JSON). FLUJO adds each server, preserving commands, args, environment variables, URLs and custom headers. A server whose name already exists is updated."]}),(0,d.jsx)(s.A,{multiline:!0,minRows:10,maxRows:20,fullWidth:!0,value:C,onChange:a=>{D(a.target.value),E&&F(null)},placeholder:'{\n "mcpServers": {\n "my-server": {\n "command": "npx",\n "args": ["-y", "my-mcp-server"],\n "env": { "API_KEY": "..." }\n }\n }\n}',variant:"outlined",spellCheck:!1,InputProps:{sx:{fontFamily:"monospace",fontSize:"0.85rem"}},disabled:G}),E&&(0,d.jsx)(cp.A,{component:"pre",sx:{mt:2,color:"error.main",whiteSpace:"pre-wrap",fontSize:"0.85rem"},children:E})]}),(0,d.jsxs)(bR.A,{children:[(0,d.jsx)(t.A,{onClick:aB,disabled:G,children:"Cancel"}),(0,d.jsx)(t.A,{onClick:aA,variant:"contained",color:"primary",disabled:G||""===C.trim(),startIcon:(0,d.jsx)(cq,{}),children:G?"Importing...":"Import"})]})]}),(0,d.jsx)(b6,{isOpen:w,onAdd:ay,onClose:()=>{x(!1),z(null),a?.(!1)},initialConfig:y,onUpdate:az,onRestartAfterUpdate:at}),(0,d.jsx)(ck,{server:W?{name:W.name,status:W.status,env:W.env}:null,onClose:()=>{P(null),O&&j(O)},onSaveEnv:r,onServerRestart:V})]})},cH=()=>(0,d.jsx)(e.default,{sx:{height:"100%",display:"flex",flexDirection:"column"},children:(0,d.jsx)(cG,{})}),cI=(0,j.h)("app/mcp/page");function cJ(){return cI.debug("Rendering MCPPage"),(0,d.jsx)(e.default,{sx:{height:"100%",display:"flex",flexDirection:"column"},children:(0,d.jsx)(cH,{})})}}};var b=require("../../webpack-runtime.js");b.C(a);var c=b.X(0,[5873,3648,3984,8445,8745,1439,3030,3489,6644,1999,5148,2246,8572,3928,1556,6908,1119,1083,472,3286,9632,1197,62],()=>b(b.s=71472));module.exports=c})();
46
+ ${i.join("\n")}`):(B(!1),D(""))},aB=()=>{B(!1),D(""),F(null)},aC=(0,f.useMemo)(()=>{cF.debug("Filtering and sorting servers",{searchTerm:X,sortOption:Z,filterOption:_});let a=b;if(""!==X.trim()){let c=X.toLowerCase();a=b.filter(a=>a.name.toLowerCase().includes(c)||a.rootPath?.toLowerCase().includes(c))}return"all"!==_&&(a=a.filter(a=>{switch(_){case"connected":return"connected"===a.status;case"disconnected":return"disconnected"===a.status;case"error":return"error"===a.status;case"enabled":return!a.disabled;case"disabled":return a.disabled;case"stdio":case"websocket":case"sse":case"streamable":return a.transport===_;default:return!0}})),(0,cD.rI)(a,Z)},[b,X,Z,_]),aD=(0,f.useMemo)(()=>(0,cC.yF)(b,a=>a.folder),[b]),aE=(0,f.useMemo)(()=>"folder"===ad?(0,cC.Je)(aC,a=>a.folder):"sort"===ad?(0,cC.Az)(aC,a=>(0,cD.mO)(a,Z)):[],[ad,aC,Z]),aF=a=>{ae(a),ag(null)},aG=async()=>{cF.debug("Bulk enabling servers",{selectedServers:Array.from(an)});let a=Array.from(an).map(a=>as(a,!0));await Promise.all(a),ao(new Set),aq({open:!1,action:null})},aH=async()=>{cF.debug("Bulk disabling servers",{selectedServers:Array.from(an)});let a=Array.from(an).map(a=>as(a,!1));await Promise.all(a),ao(new Set),aq({open:!1,action:null})},aI=(a,b)=>{let c=new Set(an);b?c.add(a):c.delete(a),ao(c)},aJ=()=>{ac(null)},aK=a=>{$(a),aJ()},aL=a=>(0,d.jsx)(o,{servers:a.map(a=>({...a,tools:[]})),isLoading:c,loadError:g,onServerSelect:U,onServerToggle:as,onServerRetry:at,onServerDelete:av,onServerEdit:aw,selectionMode:al,selectedServers:an,onServerSelectionChange:aI,updates:Q,onServerUpdated:T,folders:aD,onServerSetFolder:q});return(0,d.jsxs)(e.default,{sx:{color:"text.primary"},children:[(0,d.jsxs)(e.default,{sx:{p:2,display:"flex",justifyContent:"space-between",alignItems:"center",borderBottom:1,borderColor:"divider"},children:[(0,d.jsx)(k.default,{variant:"h5",children:"MCP"}),(0,d.jsxs)(e.default,{sx:{display:"flex",gap:1},children:[(0,d.jsx)(t.A,{variant:"outlined",color:"primary",onClick:a=>N(a.currentTarget),startIcon:(0,d.jsx)(cq,{}),endIcon:(0,d.jsx)(cr.A,{}),sx:{textTransform:"none",fontWeight:500},children:"Import"}),(0,d.jsx)(co.A,{anchorEl:M,open:!!M,onClose:()=>N(null),children:cn._i.map(a=>(0,d.jsx)(aZ.A,{onClick:()=>{J(a.id),D(""),F(null),N(null),B(!0)},children:(0,d.jsx)(bQ.A,{primary:`${a.label} format`})},a.id))}),(0,d.jsx)(t.A,{variant:"contained",color:"primary",onClick:a=>L(a.currentTarget),startIcon:(0,d.jsx)(b$,{}),endIcon:(0,d.jsx)(cr.A,{}),sx:{textTransform:"none",fontWeight:500,boxShadow:1},children:"Export"}),(0,d.jsx)(co.A,{anchorEl:K,open:!!K,onClose:()=>L(null),children:cn._i.map(a=>(0,d.jsx)(aZ.A,{onClick:()=>(a=>{let c=(0,cn.Kt)(a);cF.debug(`Exporting server configurations in ${c.label} format`),L(null);let d=new Blob([JSON.stringify(c.export(b,{proxyBaseUrl:""}),null,2)],{type:"application/json"}),e=URL.createObjectURL(d),f=document.createElement("a");f.href=e,f.download=c.fileName,document.body.appendChild(f),f.click(),document.body.removeChild(f),URL.revokeObjectURL(e)})(a.id),children:(0,d.jsx)(bQ.A,{primary:`${a.label} format`})},a.id))}),(0,d.jsx)(t.A,{variant:"contained",color:"primary","data-tour":"add-mcp-server",onClick:()=>{z(null),x(!0),a?.(!0)},startIcon:(0,d.jsx)(au.A,{}),sx:{textTransform:"none",fontWeight:500,boxShadow:1},children:"Add Server"})]})]}),(0,d.jsx)(l.A,{elevation:1,sx:{m:2,mb:1,p:1},children:(0,d.jsxs)(e.default,{sx:{display:"flex",flexDirection:{xs:"column",sm:"row"},gap:1,alignItems:{xs:"stretch",sm:"center"},justifyContent:"space-between"},children:[(0,d.jsx)(s.A,{placeholder:"Search servers...",variant:"outlined",size:"small",fullWidth:!0,value:X,onChange:a=>Y(a.target.value),InputProps:{startAdornment:(0,d.jsx)(u.A,{position:"start",children:(0,d.jsx)(bS.A,{fontSize:"small"})})},sx:{maxWidth:{sm:300}}}),(0,d.jsxs)(e.default,{sx:{display:"flex",gap:1,alignItems:"center",flexWrap:"wrap"},children:[(0,d.jsx)(t.A,{size:"small",variant:al?"contained":"outlined",onClick:()=>{am(!al),al&&ao(new Set)},startIcon:(0,d.jsx)(cx,{}),children:"Select"}),al&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(t.A,{size:"small",onClick:()=>{let a=aC.filter(a=>!a.builtIn);an.size===a.length?ao(new Set):ao(new Set(a.map(a=>a.name)))},disabled:0===aC.filter(a=>!a.builtIn).length,children:an.size===aC.filter(a=>!a.builtIn).length&&an.size>0?"Deselect All":"Select All"}),an.size>0&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(t.A,{size:"small",variant:"contained",color:"success",onClick:()=>aq({open:!0,action:"enable"}),startIcon:(0,d.jsx)(cv.A,{}),children:["Enable (",an.size,")"]}),(0,d.jsxs)(t.A,{size:"small",variant:"contained",color:"error",onClick:()=>aq({open:!0,action:"disable"}),startIcon:(0,d.jsx)(cw,{}),children:["Disable (",an.size,")"]})]})]}),(0,d.jsx)(v.A,{size:"small",onClick:a=>ag(a.currentTarget),color:"none"!==ad?"primary":"default",sx:{border:`1px solid ${ar.palette.divider}`,backgroundColor:ar.palette.background.default},title:"Group cards",children:(0,d.jsx)(cy.A,{fontSize:"small"})}),(0,d.jsx)(v.A,{size:"small",onClick:a=>{ac(a.currentTarget)},sx:{border:`1px solid ${ar.palette.divider}`,backgroundColor:ar.palette.background.default},children:(0,d.jsx)(cs.A,{fontSize:"small"})})]})]})}),(0,d.jsxs)(e.default,{sx:{display:"flex",justifyContent:"space-between",mb:2,px:3},children:[(0,d.jsxs)(k.default,{variant:"body2",color:"textSecondary",children:[aC.length," of ",b.length," servers",X&&` matching "${X}"`,"all"!==_&&` (filtered by ${_})`]}),(0,d.jsxs)(k.default,{variant:"body2",color:"textSecondary",children:["Sorted by: ","name-asc"===Z?"Name (A-Z)":"name-desc"===Z?"Name (Z-A)":"status-connected"===Z?"Connected first":"status-disconnected"===Z?"Disconnected first":"Transport type"]})]}),(0,d.jsx)(e.default,{sx:{px:2,flex:1,overflow:"auto"},children:"none"===ad||c||g||0===aC.length?aL(aC):aE.map(a=>(0,d.jsx)(cB.A,{label:a.label,count:a.items.length,expanded:!ak.has(a.key),onToggle:()=>(a=>{aj(b=>b.includes(a)?b.filter(b=>b!==a):[...b,a])})(a.key),showFolderIcon:"folder"===ad,children:aL(a.items)},a.key))}),(0,d.jsxs)(co.A,{anchorEl:af,open:!!af,onClose:()=>ag(null),anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},children:[(0,d.jsxs)(aZ.A,{selected:"none"===ad,onClick:()=>aF("none"),children:[(0,d.jsx)(bP.A,{children:(0,d.jsx)(cz.A,{fontSize:"small"})}),(0,d.jsx)(bQ.A,{primary:"No grouping"})]}),(0,d.jsxs)(aZ.A,{selected:"folder"===ad,onClick:()=>aF("folder"),children:[(0,d.jsx)(bP.A,{children:(0,d.jsx)(cA.A,{fontSize:"small"})}),(0,d.jsx)(bQ.A,{primary:"By folder"})]}),(0,d.jsxs)(aZ.A,{selected:"sort"===ad,onClick:()=>aF("sort"),children:[(0,d.jsx)(bP.A,{children:(0,d.jsx)(cy.A,{fontSize:"small"})}),(0,d.jsx)(bQ.A,{primary:"By sort setting"})]})]}),(0,d.jsxs)(co.A,{anchorEl:ab,open:!!ab,onClose:aJ,anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},children:[(0,d.jsxs)(aZ.A,{onClick:()=>aK("name-asc"),children:[(0,d.jsx)(bP.A,{children:(0,d.jsx)(ct.A,{fontSize:"small"})}),(0,d.jsx)(bQ.A,{primary:"Name (A-Z)"})]}),(0,d.jsxs)(aZ.A,{onClick:()=>aK("name-desc"),children:[(0,d.jsx)(bP.A,{children:(0,d.jsx)(ct.A,{fontSize:"small",sx:{transform:"scaleX(-1)"}})}),(0,d.jsx)(bQ.A,{primary:"Name (Z-A)"})]}),(0,d.jsx)(b7.A,{}),(0,d.jsxs)(aZ.A,{onClick:()=>aK("status-connected"),children:[(0,d.jsx)(bP.A,{children:(0,d.jsx)(cu.A,{fontSize:"small"})}),(0,d.jsx)(bQ.A,{primary:"Connected first"})]}),(0,d.jsxs)(aZ.A,{onClick:()=>aK("status-disconnected"),children:[(0,d.jsx)(bP.A,{children:(0,d.jsx)(ax.A,{fontSize:"small"})}),(0,d.jsx)(bQ.A,{primary:"Disconnected first"})]}),(0,d.jsx)(b7.A,{}),(0,d.jsxs)(aZ.A,{onClick:()=>aK("transport"),children:[(0,d.jsx)(bP.A,{children:(0,d.jsx)(bV.A,{fontSize:"small"})}),(0,d.jsx)(bQ.A,{primary:"Transport type"})]})]}),(0,d.jsxs)(bK.A,{open:ap.open,onClose:()=>aq({open:!1,action:null}),children:[(0,d.jsx)(bL.A,{children:"enable"===ap.action?"Enable Servers":"Disable Servers"}),(0,d.jsxs)(bM.A,{children:[(0,d.jsxs)(cp.A,{children:["Are you sure you want to ",ap.action," ",an.size," server",an.size>1?"s":"","?"]}),(0,d.jsx)(e.default,{sx:{mt:2},children:Array.from(an).map(a=>(0,d.jsxs)(k.default,{variant:"body2",sx:{ml:2},children:["• ",a]},a))})]}),(0,d.jsxs)(bR.A,{children:[(0,d.jsx)(t.A,{onClick:()=>aq({open:!1,action:null}),children:"Cancel"}),(0,d.jsx)(t.A,{onClick:"enable"===ap.action?aG:aH,variant:"contained",color:"enable"===ap.action?"success":"error",children:"enable"===ap.action?"Enable":"Disable"})]})]}),(0,d.jsxs)(bK.A,{open:A,onClose:aB,maxWidth:"md",fullWidth:!0,children:[(0,d.jsxs)(bL.A,{children:["Import MCP Servers — ",(0,cn.Kt)(I).label," format"]}),(0,d.jsxs)(bM.A,{children:[(0,d.jsxs)(cp.A,{sx:{mb:2},children:["Paste a ",(0,cn.Kt)(I).label,"-style MCP configuration (the"," ",(0,d.jsx)("code",{children:'{ "mcpServers": { ... } }'})," JSON). FLUJO adds each server, preserving commands, args, environment variables, URLs and custom headers. A server whose name already exists is updated."]}),(0,d.jsx)(s.A,{multiline:!0,minRows:10,maxRows:20,fullWidth:!0,value:C,onChange:a=>{D(a.target.value),E&&F(null)},placeholder:'{\n "mcpServers": {\n "my-server": {\n "command": "npx",\n "args": ["-y", "my-mcp-server"],\n "env": { "API_KEY": "..." }\n }\n }\n}',variant:"outlined",spellCheck:!1,InputProps:{sx:{fontFamily:"monospace",fontSize:"0.85rem"}},disabled:G}),E&&(0,d.jsx)(cp.A,{component:"pre",sx:{mt:2,color:"error.main",whiteSpace:"pre-wrap",fontSize:"0.85rem"},children:E})]}),(0,d.jsxs)(bR.A,{children:[(0,d.jsx)(t.A,{onClick:aB,disabled:G,children:"Cancel"}),(0,d.jsx)(t.A,{onClick:aA,variant:"contained",color:"primary",disabled:G||""===C.trim(),startIcon:(0,d.jsx)(cq,{}),children:G?"Importing...":"Import"})]})]}),(0,d.jsx)(b6,{isOpen:w,onAdd:ay,onClose:()=>{x(!1),z(null),a?.(!1)},initialConfig:y,onUpdate:az,onRestartAfterUpdate:at}),(0,d.jsx)(ck,{server:W?{name:W.name,status:W.status,env:W.env}:null,onClose:()=>{P(null),O&&j(O)},onSaveEnv:r,onServerRestart:V})]})},cH=()=>(0,d.jsx)(e.default,{sx:{height:"100%",display:"flex",flexDirection:"column"},children:(0,d.jsx)(cG,{})}),cI=(0,j.h)("app/mcp/page");function cJ(){return cI.debug("Rendering MCPPage"),(0,d.jsx)(e.default,{sx:{height:"100%",display:"flex",flexDirection:"column"},children:(0,d.jsx)(cH,{})})}}};var b=require("../../webpack-runtime.js");b.C(a);var c=b.X(0,[5873,3648,3984,8445,8745,1439,3030,3489,6644,1999,5148,2246,8572,3928,2998,6908,1119,1083,472,3286,9632,1197,62],()=>b(b.s=71472));module.exports=c})();
@@ -1 +1 @@
1
- {"version":1,"files":["../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../node_modules/next/dist/lib/constants.js","../../../../node_modules/next/dist/lib/interop-default.js","../../../../node_modules/next/dist/lib/is-error.js","../../../../node_modules/next/dist/lib/semver-noop.js","../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../node_modules/next/dist/server/lib/cache-handlers/default.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../node_modules/next/dist/server/lib/lru-cache.js","../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../node_modules/next/dist/server/load-manifest.external.js","../../../../node_modules/next/dist/server/response-cache/types.js","../../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","../../../../node_modules/next/dist/shared/lib/router/utils/app-paths.js","../../../../node_modules/next/dist/shared/lib/router/utils/html-bots.js","../../../../node_modules/next/dist/shared/lib/router/utils/is-bot.js","../../../../node_modules/next/dist/shared/lib/segment.js","../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../node_modules/next/package.json","../../../package.json","../../chunks/1083.js","../../chunks/1119.js","../../chunks/1197.js","../../chunks/1439.js","../../chunks/1556.js","../../chunks/1999.js","../../chunks/2246.js","../../chunks/3030.js","../../chunks/3286.js","../../chunks/3489.js","../../chunks/3648.js","../../chunks/3928.js","../../chunks/3984.js","../../chunks/472.js","../../chunks/5148.js","../../chunks/558.js","../../chunks/5873.js","../../chunks/62.js","../../chunks/6644.js","../../chunks/6908.js","../../chunks/8445.js","../../chunks/8572.js","../../chunks/8745.js","../../chunks/9632.js","../../webpack-runtime.js","page_client-reference-manifest.js"]}
1
+ {"version":1,"files":["../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../node_modules/next/dist/lib/constants.js","../../../../node_modules/next/dist/lib/interop-default.js","../../../../node_modules/next/dist/lib/is-error.js","../../../../node_modules/next/dist/lib/semver-noop.js","../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../node_modules/next/dist/server/lib/cache-handlers/default.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../node_modules/next/dist/server/lib/lru-cache.js","../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../node_modules/next/dist/server/load-manifest.external.js","../../../../node_modules/next/dist/server/response-cache/types.js","../../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","../../../../node_modules/next/dist/shared/lib/router/utils/app-paths.js","../../../../node_modules/next/dist/shared/lib/router/utils/html-bots.js","../../../../node_modules/next/dist/shared/lib/router/utils/is-bot.js","../../../../node_modules/next/dist/shared/lib/segment.js","../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../node_modules/next/package.json","../../../package.json","../../chunks/1083.js","../../chunks/1119.js","../../chunks/1197.js","../../chunks/1439.js","../../chunks/1999.js","../../chunks/2246.js","../../chunks/2998.js","../../chunks/3030.js","../../chunks/3286.js","../../chunks/3489.js","../../chunks/3648.js","../../chunks/3928.js","../../chunks/3984.js","../../chunks/472.js","../../chunks/5148.js","../../chunks/558.js","../../chunks/5873.js","../../chunks/62.js","../../chunks/6644.js","../../chunks/6908.js","../../chunks/8445.js","../../chunks/8572.js","../../chunks/8745.js","../../chunks/9632.js","../../webpack-runtime.js","page_client-reference-manifest.js"]}
@@ -1 +1 @@
1
- globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/mcp/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"4474":{"*":{"id":"8521","name":"*","chunks":[],"async":false}},"9766":{"*":{"id":"77526","name":"*","chunks":[],"async":false}},"15278":{"*":{"id":"78922","name":"*","chunks":[],"async":false}},"17989":{"*":{"id":"68495","name":"*","chunks":[],"async":false}},"24431":{"*":{"id":"12263","name":"*","chunks":[],"async":false}},"24437":{"*":{"id":"24207","name":"*","chunks":[],"async":false}},"25635":{"*":{"id":"79515","name":"*","chunks":[],"async":false}},"26756":{"*":{"id":"29039","name":"*","chunks":[],"async":false}},"27879":{"*":{"id":"92093","name":"*","chunks":[],"async":false}},"31932":{"*":{"id":"44930","name":"*","chunks":[],"async":false}},"36552":{"*":{"id":"52402","name":"*","chunks":[],"async":false}},"43856":{"*":{"id":"84608","name":"*","chunks":[],"async":false}},"45960":{"*":{"id":"41937","name":"*","chunks":[],"async":false}},"52759":{"*":{"id":"76841","name":"*","chunks":[],"async":false}},"57150":{"*":{"id":"54160","name":"*","chunks":[],"async":false}},"58812":{"*":{"id":"78354","name":"*","chunks":[],"async":false}},"63886":{"*":{"id":"75170","name":"*","chunks":[],"async":false}},"71113":{"*":{"id":"63904","name":"*","chunks":[],"async":false}},"72403":{"*":{"id":"49428","name":"*","chunks":[],"async":false}},"80622":{"*":{"id":"82146","name":"*","chunks":[],"async":false}},"81959":{"*":{"id":"31603","name":"*","chunks":[],"async":false}},"89547":{"*":{"id":"71779","name":"*","chunks":[],"async":false}},"94049":{"*":{"id":"81637","name":"*","chunks":[],"async":false}},"94929":{"*":{"id":"61615","name":"*","chunks":[],"async":false}},"95791":{"*":{"id":"96369","name":"*","chunks":[],"async":false}},"98924":{"*":{"id":"29234","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\client\\components\\builtin\\global-error.js":{"id":57150,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\esm\\client\\components\\builtin\\global-error.js":{"id":57150,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\client\\components\\client-page.js":{"id":81959,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\esm\\client\\components\\client-page.js":{"id":81959,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\client\\components\\client-segment.js":{"id":17989,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\esm\\client\\components\\client-segment.js":{"id":17989,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\client\\components\\http-access-fallback\\error-boundary.js":{"id":63886,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\esm\\client\\components\\http-access-fallback\\error-boundary.js":{"id":63886,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\client\\components\\layout-router.js":{"id":9766,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\esm\\client\\components\\layout-router.js":{"id":9766,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\client\\components\\metadata\\async-metadata.js":{"id":15278,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\esm\\client\\components\\metadata\\async-metadata.js":{"id":15278,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\client\\components\\render-from-template-context.js":{"id":98924,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\esm\\client\\components\\render-from-template-context.js":{"id":98924,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\lib\\framework\\boundary-components.js":{"id":24431,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\esm\\lib\\framework\\boundary-components.js":{"id":24431,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\lib\\metadata\\generate\\icon-mark.js":{"id":80622,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\esm\\lib\\metadata\\generate\\icon-mark.js":{"id":80622,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\font\\google\\target.css?{\"path\":\"src\\\\app\\\\layout.tsx\",\"import\":\"Geist\",\"arguments\":[{\"variable\":\"--font-geist-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"geistSans\"}":{"id":59742,"name":"*","chunks":["7177","static/chunks/app/layout-2ebf01d97702a18a.js"],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\font\\google\\target.css?{\"path\":\"src\\\\app\\\\layout.tsx\",\"import\":\"Geist_Mono\",\"arguments\":[{\"variable\":\"--font-geist-mono\",\"subsets\":[\"latin\"]}],\"variableName\":\"geistMono\"}":{"id":3946,"name":"*","chunks":["7177","static/chunks/app/layout-2ebf01d97702a18a.js"],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\globals.css":{"id":13673,"name":"*","chunks":["7177","static/chunks/app/layout-2ebf01d97702a18a.js"],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\frontend\\components\\AppWrapper.tsx":{"id":72403,"name":"*","chunks":["7177","static/chunks/app/layout-2ebf01d97702a18a.js"],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\chat\\page.tsx":{"id":45960,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\docs\\page.tsx":{"id":71113,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\executions\\page.tsx":{"id":31932,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\flows\\page.tsx":{"id":52759,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\mcp\\page.tsx":{"id":95791,"name":"*","chunks":["2678","static/chunks/2678-c88052addfb0478a.js","4754","static/chunks/4754-5c62bb61142f82d1.js","9244","static/chunks/9244-3281f7fd02003a2c.js","8548","static/chunks/8548-8e4a95334064e8b2.js","1983","static/chunks/1983-242862b3dc022a26.js","1871","static/chunks/1871-dd8c10ed9d37100b.js","2003","static/chunks/2003-460f30484998c05d.js","5501","static/chunks/5501-f5b093c8dfd74196.js","488","static/chunks/488-623d07c3fbc21e28.js","3272","static/chunks/3272-fd8d59523f61da96.js","3077","static/chunks/3077-565833c67440a7fa.js","8598","static/chunks/8598-1b627b3d682b364a.js","9659","static/chunks/9659-a279e3aaba407251.js","9451","static/chunks/9451-680fa09f81f18806.js","2403","static/chunks/2403-5c26e0abd76095b1.js","7687","static/chunks/7687-7edf1a6e1f063b08.js","9554","static/chunks/9554-cb5bd72cb40e8dbe.js","6731","static/chunks/6731-c230e88cf0032609.js","2005","static/chunks/2005-f9d38c39f10c321f.js","6730","static/chunks/6730-c330b55cd0fe4f47.js","1620","static/chunks/1620-0d8ecd877f123f7b.js","5545","static/chunks/5545-2ab6e5d749e103cd.js","9164","static/chunks/9164-d9f1abba780231e0.js","812","static/chunks/812-624e93f4c0f671c7.js","7430","static/chunks/7430-6e78aaeac66988a9.js","313","static/chunks/app/mcp/page-b6866f49f76a6801.js"],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\page.tsx":{"id":89547,"name":"*","chunks":["2678","static/chunks/2678-c88052addfb0478a.js","4754","static/chunks/4754-5c62bb61142f82d1.js","9244","static/chunks/9244-3281f7fd02003a2c.js","8548","static/chunks/8548-8e4a95334064e8b2.js","1983","static/chunks/1983-242862b3dc022a26.js","1871","static/chunks/1871-dd8c10ed9d37100b.js","2003","static/chunks/2003-460f30484998c05d.js","3077","static/chunks/3077-565833c67440a7fa.js","2619","static/chunks/2619-04bc32f026a0d946.js","8834","static/chunks/8834-bda798efab40c60a.js","9164","static/chunks/9164-d9f1abba780231e0.js","8974","static/chunks/app/page-a859e4dbd180df98.js"],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\settings\\page.tsx":{"id":58812,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\waves\\page.tsx":{"id":26756,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\models\\error.tsx":{"id":27879,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\@mui\\material\\Box\\Box.js":{"id":94049,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\@mui\\material\\CircularProgress\\CircularProgress.js":{"id":4474,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\@mui\\material\\Typography\\Typography.js":{"id":25635,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\shared\\lib\\lazy-dynamic\\dynamic-bailout-to-csr.js":{"id":24437,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\esm\\shared\\lib\\lazy-dynamic\\dynamic-bailout-to-csr.js":{"id":24437,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\shared\\lib\\lazy-dynamic\\preload-chunks.js":{"id":36552,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\esm\\shared\\lib\\lazy-dynamic\\preload-chunks.js":{"id":36552,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\models\\ModelClient.tsx":{"id":43856,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\frontend\\components\\shared\\Spinner.tsx":{"id":94929,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\":[],"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\layout":[{"inlined":false,"path":"static/css/b496025c9cd768cc.css"},{"inlined":false,"path":"static/css/599369d853c61df7.css"},{"inlined":false,"path":"static/css/39393a79f7cb0dee.css"}],"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\page":[],"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\mcp\\page":[]},"rscModuleMapping":{"4474":{"*":{"id":"65251","name":"*","chunks":[],"async":false}},"9766":{"*":{"id":"6060","name":"*","chunks":[],"async":false}},"13673":{"*":{"id":"61135","name":"*","chunks":[],"async":false}},"15278":{"*":{"id":"7184","name":"*","chunks":[],"async":false}},"17989":{"*":{"id":"36893","name":"*","chunks":[],"async":false}},"24431":{"*":{"id":"73041","name":"*","chunks":[],"async":false}},"24437":{"*":{"id":"69389","name":"*","chunks":[],"async":false}},"25635":{"*":{"id":"16825","name":"*","chunks":[],"async":false}},"26756":{"*":{"id":"71494","name":"*","chunks":[],"async":false}},"27879":{"*":{"id":"14867","name":"*","chunks":[],"async":false}},"31932":{"*":{"id":"42389","name":"*","chunks":[],"async":false}},"36552":{"*":{"id":"63112","name":"*","chunks":[],"async":false}},"43856":{"*":{"id":"2671","name":"*","chunks":[],"async":false}},"45960":{"*":{"id":"22516","name":"*","chunks":[],"async":false}},"52759":{"*":{"id":"10057","name":"*","chunks":[],"async":false}},"57150":{"*":{"id":"81170","name":"*","chunks":[],"async":false}},"58812":{"*":{"id":"85431","name":"*","chunks":[],"async":false}},"63886":{"*":{"id":"89748","name":"*","chunks":[],"async":false}},"71113":{"*":{"id":"65793","name":"*","chunks":[],"async":false}},"72403":{"*":{"id":"41306","name":"*","chunks":[],"async":false}},"80622":{"*":{"id":"51384","name":"*","chunks":[],"async":false}},"81959":{"*":{"id":"23597","name":"*","chunks":[],"async":false}},"89547":{"*":{"id":"60967","name":"*","chunks":[],"async":false}},"94049":{"*":{"id":"73737","name":"*","chunks":[],"async":false}},"94929":{"*":{"id":"37997","name":"*","chunks":[],"async":false}},"95791":{"*":{"id":"51016","name":"*","chunks":[],"async":false}},"98924":{"*":{"id":"69576","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}}
1
+ globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/mcp/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"4474":{"*":{"id":"8521","name":"*","chunks":[],"async":false}},"9766":{"*":{"id":"77526","name":"*","chunks":[],"async":false}},"15278":{"*":{"id":"78922","name":"*","chunks":[],"async":false}},"17989":{"*":{"id":"68495","name":"*","chunks":[],"async":false}},"24431":{"*":{"id":"12263","name":"*","chunks":[],"async":false}},"24437":{"*":{"id":"24207","name":"*","chunks":[],"async":false}},"25635":{"*":{"id":"79515","name":"*","chunks":[],"async":false}},"26756":{"*":{"id":"29039","name":"*","chunks":[],"async":false}},"27879":{"*":{"id":"92093","name":"*","chunks":[],"async":false}},"31932":{"*":{"id":"44930","name":"*","chunks":[],"async":false}},"36552":{"*":{"id":"52402","name":"*","chunks":[],"async":false}},"43856":{"*":{"id":"84608","name":"*","chunks":[],"async":false}},"52759":{"*":{"id":"76841","name":"*","chunks":[],"async":false}},"57150":{"*":{"id":"54160","name":"*","chunks":[],"async":false}},"58812":{"*":{"id":"78354","name":"*","chunks":[],"async":false}},"62560":{"*":{"id":"76448","name":"*","chunks":[],"async":false}},"63886":{"*":{"id":"75170","name":"*","chunks":[],"async":false}},"71113":{"*":{"id":"63904","name":"*","chunks":[],"async":false}},"72403":{"*":{"id":"49428","name":"*","chunks":[],"async":false}},"80622":{"*":{"id":"82146","name":"*","chunks":[],"async":false}},"81959":{"*":{"id":"31603","name":"*","chunks":[],"async":false}},"89547":{"*":{"id":"71779","name":"*","chunks":[],"async":false}},"94049":{"*":{"id":"81637","name":"*","chunks":[],"async":false}},"94929":{"*":{"id":"61615","name":"*","chunks":[],"async":false}},"95791":{"*":{"id":"96369","name":"*","chunks":[],"async":false}},"98924":{"*":{"id":"29234","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\client\\components\\builtin\\global-error.js":{"id":57150,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\esm\\client\\components\\builtin\\global-error.js":{"id":57150,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\client\\components\\client-page.js":{"id":81959,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\esm\\client\\components\\client-page.js":{"id":81959,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\client\\components\\client-segment.js":{"id":17989,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\esm\\client\\components\\client-segment.js":{"id":17989,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\client\\components\\http-access-fallback\\error-boundary.js":{"id":63886,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\esm\\client\\components\\http-access-fallback\\error-boundary.js":{"id":63886,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\client\\components\\layout-router.js":{"id":9766,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\esm\\client\\components\\layout-router.js":{"id":9766,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\client\\components\\metadata\\async-metadata.js":{"id":15278,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\esm\\client\\components\\metadata\\async-metadata.js":{"id":15278,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\client\\components\\render-from-template-context.js":{"id":98924,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\esm\\client\\components\\render-from-template-context.js":{"id":98924,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\lib\\framework\\boundary-components.js":{"id":24431,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\esm\\lib\\framework\\boundary-components.js":{"id":24431,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\lib\\metadata\\generate\\icon-mark.js":{"id":80622,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\esm\\lib\\metadata\\generate\\icon-mark.js":{"id":80622,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\font\\google\\target.css?{\"path\":\"src\\\\app\\\\layout.tsx\",\"import\":\"Geist\",\"arguments\":[{\"variable\":\"--font-geist-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"geistSans\"}":{"id":59742,"name":"*","chunks":["7177","static/chunks/app/layout-2ebf01d97702a18a.js"],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\font\\google\\target.css?{\"path\":\"src\\\\app\\\\layout.tsx\",\"import\":\"Geist_Mono\",\"arguments\":[{\"variable\":\"--font-geist-mono\",\"subsets\":[\"latin\"]}],\"variableName\":\"geistMono\"}":{"id":3946,"name":"*","chunks":["7177","static/chunks/app/layout-2ebf01d97702a18a.js"],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\globals.css":{"id":13673,"name":"*","chunks":["7177","static/chunks/app/layout-2ebf01d97702a18a.js"],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\frontend\\components\\AppWrapper.tsx":{"id":72403,"name":"*","chunks":["7177","static/chunks/app/layout-2ebf01d97702a18a.js"],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\chat\\page.tsx":{"id":62560,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\docs\\page.tsx":{"id":71113,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\executions\\page.tsx":{"id":31932,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\flows\\page.tsx":{"id":52759,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\mcp\\page.tsx":{"id":95791,"name":"*","chunks":["2678","static/chunks/2678-c88052addfb0478a.js","4754","static/chunks/4754-5c62bb61142f82d1.js","9244","static/chunks/9244-3281f7fd02003a2c.js","8548","static/chunks/8548-8e4a95334064e8b2.js","1983","static/chunks/1983-242862b3dc022a26.js","1871","static/chunks/1871-dd8c10ed9d37100b.js","2003","static/chunks/2003-460f30484998c05d.js","5501","static/chunks/5501-f5b093c8dfd74196.js","488","static/chunks/488-623d07c3fbc21e28.js","3272","static/chunks/3272-fd8d59523f61da96.js","3077","static/chunks/3077-565833c67440a7fa.js","8598","static/chunks/8598-1b627b3d682b364a.js","9659","static/chunks/9659-a279e3aaba407251.js","9451","static/chunks/9451-680fa09f81f18806.js","2403","static/chunks/2403-5c26e0abd76095b1.js","7687","static/chunks/7687-7edf1a6e1f063b08.js","9554","static/chunks/9554-cb5bd72cb40e8dbe.js","6731","static/chunks/6731-c230e88cf0032609.js","2005","static/chunks/2005-f9d38c39f10c321f.js","6257","static/chunks/6257-ee5d8d88050d7705.js","1620","static/chunks/1620-0d8ecd877f123f7b.js","3454","static/chunks/3454-a8db9caba457e5fa.js","9164","static/chunks/9164-d9f1abba780231e0.js","812","static/chunks/812-624e93f4c0f671c7.js","7430","static/chunks/7430-6e78aaeac66988a9.js","313","static/chunks/app/mcp/page-8666173926cabf31.js"],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\page.tsx":{"id":89547,"name":"*","chunks":["2678","static/chunks/2678-c88052addfb0478a.js","4754","static/chunks/4754-5c62bb61142f82d1.js","9244","static/chunks/9244-3281f7fd02003a2c.js","8548","static/chunks/8548-8e4a95334064e8b2.js","1983","static/chunks/1983-242862b3dc022a26.js","1871","static/chunks/1871-dd8c10ed9d37100b.js","2003","static/chunks/2003-460f30484998c05d.js","3077","static/chunks/3077-565833c67440a7fa.js","2619","static/chunks/2619-04bc32f026a0d946.js","8834","static/chunks/8834-bda798efab40c60a.js","9164","static/chunks/9164-d9f1abba780231e0.js","8974","static/chunks/app/page-a859e4dbd180df98.js"],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\settings\\page.tsx":{"id":58812,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\waves\\page.tsx":{"id":26756,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\models\\error.tsx":{"id":27879,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\@mui\\material\\Box\\Box.js":{"id":94049,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\@mui\\material\\CircularProgress\\CircularProgress.js":{"id":4474,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\@mui\\material\\Typography\\Typography.js":{"id":25635,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\shared\\lib\\lazy-dynamic\\dynamic-bailout-to-csr.js":{"id":24437,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\esm\\shared\\lib\\lazy-dynamic\\dynamic-bailout-to-csr.js":{"id":24437,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\shared\\lib\\lazy-dynamic\\preload-chunks.js":{"id":36552,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\node_modules\\next\\dist\\esm\\shared\\lib\\lazy-dynamic\\preload-chunks.js":{"id":36552,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\models\\ModelClient.tsx":{"id":43856,"name":"*","chunks":[],"async":false},"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\frontend\\components\\shared\\Spinner.tsx":{"id":94929,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\":[],"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\layout":[{"inlined":false,"path":"static/css/b496025c9cd768cc.css"},{"inlined":false,"path":"static/css/599369d853c61df7.css"},{"inlined":false,"path":"static/css/39393a79f7cb0dee.css"}],"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\page":[],"C:\\Users\\MarioAndreschak\\Documents\\GitHub\\FLUJO\\src\\app\\mcp\\page":[]},"rscModuleMapping":{"4474":{"*":{"id":"65251","name":"*","chunks":[],"async":false}},"9766":{"*":{"id":"6060","name":"*","chunks":[],"async":false}},"13673":{"*":{"id":"61135","name":"*","chunks":[],"async":false}},"15278":{"*":{"id":"7184","name":"*","chunks":[],"async":false}},"17989":{"*":{"id":"36893","name":"*","chunks":[],"async":false}},"24431":{"*":{"id":"73041","name":"*","chunks":[],"async":false}},"24437":{"*":{"id":"69389","name":"*","chunks":[],"async":false}},"25635":{"*":{"id":"16825","name":"*","chunks":[],"async":false}},"26756":{"*":{"id":"71494","name":"*","chunks":[],"async":false}},"27879":{"*":{"id":"14867","name":"*","chunks":[],"async":false}},"31932":{"*":{"id":"42389","name":"*","chunks":[],"async":false}},"36552":{"*":{"id":"63112","name":"*","chunks":[],"async":false}},"43856":{"*":{"id":"2671","name":"*","chunks":[],"async":false}},"52759":{"*":{"id":"10057","name":"*","chunks":[],"async":false}},"57150":{"*":{"id":"81170","name":"*","chunks":[],"async":false}},"58812":{"*":{"id":"85431","name":"*","chunks":[],"async":false}},"62560":{"*":{"id":"22516","name":"*","chunks":[],"async":false}},"63886":{"*":{"id":"89748","name":"*","chunks":[],"async":false}},"71113":{"*":{"id":"65793","name":"*","chunks":[],"async":false}},"72403":{"*":{"id":"41306","name":"*","chunks":[],"async":false}},"80622":{"*":{"id":"51384","name":"*","chunks":[],"async":false}},"81959":{"*":{"id":"23597","name":"*","chunks":[],"async":false}},"89547":{"*":{"id":"60967","name":"*","chunks":[],"async":false}},"94049":{"*":{"id":"73737","name":"*","chunks":[],"async":false}},"94929":{"*":{"id":"37997","name":"*","chunks":[],"async":false}},"95791":{"*":{"id":"51016","name":"*","chunks":[],"async":false}},"98924":{"*":{"id":"69576","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}}