flujo-ai 3.44.0 → 3.45.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 (386) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +7 -7
  3. package/.next/build-manifest.json +3 -3
  4. package/.next/react-loadable-manifest.json +1 -1
  5. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  6. package/.next/server/app/_global-error.html +1 -1
  7. package/.next/server/app/_global-error.rsc +1 -1
  8. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  9. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  14. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  15. package/.next/server/app/_not-found.html +1 -1
  16. package/.next/server/app/_not-found.rsc +2 -2
  17. package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  18. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  19. package/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  20. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  21. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  22. package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  23. package/.next/server/app/api/approvals/[id]/route.js +1 -1
  24. package/.next/server/app/api/approvals/[id]/route.js.nft.json +1 -1
  25. package/.next/server/app/api/approvals/route.js +1 -1
  26. package/.next/server/app/api/approvals/route.js.nft.json +1 -1
  27. package/.next/server/app/api/backup/route.js.nft.json +1 -1
  28. package/.next/server/app/api/bugs/enhance/route.js +1 -1
  29. package/.next/server/app/api/bugs/enhance/route.js.nft.json +1 -1
  30. package/.next/server/app/api/encryption/secure/route.js +1 -1
  31. package/.next/server/app/api/encryption/secure/route.js.nft.json +1 -1
  32. package/.next/server/app/api/flow/[id]/convert-process-to-subflow/route.js.nft.json +1 -1
  33. package/.next/server/app/api/flow/[id]/route.js.nft.json +1 -1
  34. package/.next/server/app/api/flow/[id]/versions/[versionId]/route.js.nft.json +1 -1
  35. package/.next/server/app/api/flow/[id]/versions/route.js.nft.json +1 -1
  36. package/.next/server/app/api/flow/assist/route.js +1 -1
  37. package/.next/server/app/api/flow/assist/route.js.nft.json +1 -1
  38. package/.next/server/app/api/flow/compile/route.js +1 -1
  39. package/.next/server/app/api/flow/compile/route.js.nft.json +1 -1
  40. package/.next/server/app/api/flow/generate/route.js +1 -1
  41. package/.next/server/app/api/flow/generate/route.js.nft.json +1 -1
  42. package/.next/server/app/api/flow/generate/visual/route.js +2 -2
  43. package/.next/server/app/api/flow/generate/visual/route.js.nft.json +1 -1
  44. package/.next/server/app/api/flow/generator/route.js +1 -1
  45. package/.next/server/app/api/flow/generator/route.js.nft.json +1 -1
  46. package/.next/server/app/api/flow/improve/route.js +1 -1
  47. package/.next/server/app/api/flow/improve/route.js.nft.json +1 -1
  48. package/.next/server/app/api/flow/prompt-renderer/route.js +1 -1
  49. package/.next/server/app/api/flow/prompt-renderer/route.js.nft.json +1 -1
  50. package/.next/server/app/api/flow/quick-chat/route.js +1 -1
  51. package/.next/server/app/api/flow/quick-chat/route.js.nft.json +1 -1
  52. package/.next/server/app/api/flow/repair/route.js +1 -1
  53. package/.next/server/app/api/flow/repair/route.js.nft.json +1 -1
  54. package/.next/server/app/api/flow/route.js.nft.json +1 -1
  55. package/.next/server/app/api/init/route.js +1 -1
  56. package/.next/server/app/api/init/route.js.nft.json +1 -1
  57. package/.next/server/app/api/mcp/app-consent/route.js +1 -1
  58. package/.next/server/app/api/mcp/app-consent/route.js.nft.json +1 -1
  59. package/.next/server/app/api/mcp/app-sandbox/route.js +2 -2
  60. package/.next/server/app/api/mcp/app-sandbox/route.js.nft.json +1 -1
  61. package/.next/server/app/api/mcp/assistant/route.js +1 -1
  62. package/.next/server/app/api/mcp/assistant/route.js.nft.json +1 -1
  63. package/.next/server/app/api/mcp/cancel/route.js +1 -1
  64. package/.next/server/app/api/mcp/cancel/route.js.nft.json +1 -1
  65. package/.next/server/app/api/mcp/flujo/authoring/route.js +1 -1
  66. package/.next/server/app/api/mcp/flujo/authoring/route.js.nft.json +1 -1
  67. package/.next/server/app/api/mcp/flujo/automation/route.js +1 -1
  68. package/.next/server/app/api/mcp/flujo/automation/route.js.nft.json +1 -1
  69. package/.next/server/app/api/mcp/flujo/flows/route.js +1 -1
  70. package/.next/server/app/api/mcp/flujo/flows/route.js.nft.json +1 -1
  71. package/.next/server/app/api/mcp/flujo/resources/read/route.js +1 -1
  72. package/.next/server/app/api/mcp/flujo/resources/read/route.js.nft.json +1 -1
  73. package/.next/server/app/api/mcp/flujo/resources/route.js +1 -1
  74. package/.next/server/app/api/mcp/flujo/resources/route.js.nft.json +1 -1
  75. package/.next/server/app/api/mcp/flujo/servers/route.js +1 -1
  76. package/.next/server/app/api/mcp/flujo/servers/route.js.nft.json +1 -1
  77. package/.next/server/app/api/mcp/flujo/state/route.js +1 -1
  78. package/.next/server/app/api/mcp/flujo/state/route.js.nft.json +1 -1
  79. package/.next/server/app/api/mcp/flujo/tools/route.js +1 -1
  80. package/.next/server/app/api/mcp/flujo/tools/route.js.nft.json +1 -1
  81. package/.next/server/app/api/mcp/oauth-capability/route.js +1 -1
  82. package/.next/server/app/api/mcp/oauth-capability/route.js.nft.json +1 -1
  83. package/.next/server/app/api/mcp/servers/[name]/prompts/get/route.js +1 -1
  84. package/.next/server/app/api/mcp/servers/[name]/prompts/get/route.js.nft.json +1 -1
  85. package/.next/server/app/api/mcp/servers/[name]/prompts/route.js +1 -1
  86. package/.next/server/app/api/mcp/servers/[name]/prompts/route.js.nft.json +1 -1
  87. package/.next/server/app/api/mcp/servers/[name]/resources/read/route.js +1 -1
  88. package/.next/server/app/api/mcp/servers/[name]/resources/read/route.js.nft.json +1 -1
  89. package/.next/server/app/api/mcp/servers/[name]/resources/route.js +1 -1
  90. package/.next/server/app/api/mcp/servers/[name]/resources/route.js.nft.json +1 -1
  91. package/.next/server/app/api/mcp/servers/[name]/route.js +1 -1
  92. package/.next/server/app/api/mcp/servers/[name]/route.js.nft.json +1 -1
  93. package/.next/server/app/api/mcp/servers/[name]/status/route.js +1 -1
  94. package/.next/server/app/api/mcp/servers/[name]/status/route.js.nft.json +1 -1
  95. package/.next/server/app/api/mcp/servers/[name]/stdio-oauth/confirm/route.js +1 -1
  96. package/.next/server/app/api/mcp/servers/[name]/stdio-oauth/confirm/route.js.nft.json +1 -1
  97. package/.next/server/app/api/mcp/servers/[name]/stdio-oauth/start/route.js +1 -1
  98. package/.next/server/app/api/mcp/servers/[name]/stdio-oauth/start/route.js.nft.json +1 -1
  99. package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route.js +1 -1
  100. package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route.js.nft.json +1 -1
  101. package/.next/server/app/api/mcp/servers/[name]/tools/route.js +1 -1
  102. package/.next/server/app/api/mcp/servers/[name]/tools/route.js.nft.json +1 -1
  103. package/.next/server/app/api/mcp/servers/route.js +1 -1
  104. package/.next/server/app/api/mcp/servers/route.js.nft.json +1 -1
  105. package/.next/server/app/api/mcp/test-connection/route.js +1 -1
  106. package/.next/server/app/api/mcp/test-connection/route.js.nft.json +1 -1
  107. package/.next/server/app/api/mcp/test-connection/stream/route.js +1 -1
  108. package/.next/server/app/api/mcp/test-connection/stream/route.js.nft.json +1 -1
  109. package/.next/server/app/api/mcp-registry/route.js +1 -1
  110. package/.next/server/app/api/mcp-registry/route.js.nft.json +1 -1
  111. package/.next/server/app/api/model/[id]/route.js +1 -1
  112. package/.next/server/app/api/model/[id]/route.js.nft.json +1 -1
  113. package/.next/server/app/api/model/provider/route.js +1 -1
  114. package/.next/server/app/api/model/provider/route.js.nft.json +1 -1
  115. package/.next/server/app/api/model/route.js +1 -1
  116. package/.next/server/app/api/model/route.js.nft.json +1 -1
  117. package/.next/server/app/api/model/test/route.js +1 -1
  118. package/.next/server/app/api/model/test/route.js.nft.json +1 -1
  119. package/.next/server/app/api/oauth/reset/route.js +1 -1
  120. package/.next/server/app/api/oauth/reset/route.js.nft.json +1 -1
  121. package/.next/server/app/api/packages/build/route.js.nft.json +1 -1
  122. package/.next/server/app/api/packages/derive-secrets/route.js.nft.json +1 -1
  123. package/.next/server/app/api/packages/install/route.js +1 -1
  124. package/.next/server/app/api/packages/install/route.js.nft.json +1 -1
  125. package/.next/server/app/api/packages/install/status/route.js +1 -1
  126. package/.next/server/app/api/packages/install/status/route.js.nft.json +1 -1
  127. package/.next/server/app/api/packages/installed/route.js +1 -1
  128. package/.next/server/app/api/packages/installed/route.js.nft.json +1 -1
  129. package/.next/server/app/api/packages/resolve/route.js.nft.json +1 -1
  130. package/.next/server/app/api/packages/scan-targets/route.js.nft.json +1 -1
  131. package/.next/server/app/api/packages/uninstall/route.js +1 -1
  132. package/.next/server/app/api/packages/uninstall/route.js.nft.json +1 -1
  133. package/.next/server/app/api/planned-executions/[id]/route.js.nft.json +1 -1
  134. package/.next/server/app/api/planned-executions/[id]/run/route.js.nft.json +1 -1
  135. package/.next/server/app/api/planned-executions/[id]/runs/route.js.nft.json +1 -1
  136. package/.next/server/app/api/planned-executions/reconcile/route.js +1 -1
  137. package/.next/server/app/api/planned-executions/reconcile/route.js.nft.json +1 -1
  138. package/.next/server/app/api/planned-executions/route.js +1 -1
  139. package/.next/server/app/api/planned-executions/route.js.nft.json +1 -1
  140. package/.next/server/app/api/restore/route.js.nft.json +1 -1
  141. package/.next/server/app/api/runs/active/route.js +1 -1
  142. package/.next/server/app/api/runs/active/route.js.nft.json +1 -1
  143. package/.next/server/app/api/telemetry/daily-active/route.js +1 -1
  144. package/.next/server/app/api/waves/route.js +1 -1
  145. package/.next/server/app/api/waves/route.js.nft.json +1 -1
  146. package/.next/server/app/api/webhooks/[id]/route.js +1 -1
  147. package/.next/server/app/api/webhooks/[id]/route.js.nft.json +1 -1
  148. package/.next/server/app/automation/triggers/page_client-reference-manifest.js +1 -1
  149. package/.next/server/app/automation/triggers.html +1 -1
  150. package/.next/server/app/automation/triggers.rsc +3 -3
  151. package/.next/server/app/automation/triggers.segments/_full.segment.rsc +3 -3
  152. package/.next/server/app/automation/triggers.segments/_head.segment.rsc +1 -1
  153. package/.next/server/app/automation/triggers.segments/_index.segment.rsc +2 -2
  154. package/.next/server/app/automation/triggers.segments/_tree.segment.rsc +1 -1
  155. package/.next/server/app/automation/triggers.segments/automation/triggers/__PAGE__.segment.rsc +2 -2
  156. package/.next/server/app/automation/triggers.segments/automation/triggers.segment.rsc +1 -1
  157. package/.next/server/app/automation/triggers.segments/automation.segment.rsc +1 -1
  158. package/.next/server/app/automation/waves/page_client-reference-manifest.js +1 -1
  159. package/.next/server/app/automation/waves.html +1 -1
  160. package/.next/server/app/automation/waves.rsc +3 -3
  161. package/.next/server/app/automation/waves.segments/_full.segment.rsc +3 -3
  162. package/.next/server/app/automation/waves.segments/_head.segment.rsc +1 -1
  163. package/.next/server/app/automation/waves.segments/_index.segment.rsc +2 -2
  164. package/.next/server/app/automation/waves.segments/_tree.segment.rsc +1 -1
  165. package/.next/server/app/automation/waves.segments/automation/waves/__PAGE__.segment.rsc +2 -2
  166. package/.next/server/app/automation/waves.segments/automation/waves.segment.rsc +1 -1
  167. package/.next/server/app/automation/waves.segments/automation.segment.rsc +1 -1
  168. package/.next/server/app/chain-chat/page_client-reference-manifest.js +1 -1
  169. package/.next/server/app/chain-chat.html +1 -1
  170. package/.next/server/app/chain-chat.rsc +3 -3
  171. package/.next/server/app/chain-chat.segments/_full.segment.rsc +3 -3
  172. package/.next/server/app/chain-chat.segments/_head.segment.rsc +1 -1
  173. package/.next/server/app/chain-chat.segments/_index.segment.rsc +2 -2
  174. package/.next/server/app/chain-chat.segments/_tree.segment.rsc +1 -1
  175. package/.next/server/app/chain-chat.segments/chain-chat/__PAGE__.segment.rsc +2 -2
  176. package/.next/server/app/chain-chat.segments/chain-chat.segment.rsc +1 -1
  177. package/.next/server/app/chat/page.js +4 -4
  178. package/.next/server/app/chat/page.js.nft.json +1 -1
  179. package/.next/server/app/chat/page_client-reference-manifest.js +1 -1
  180. package/.next/server/app/chat.html +1 -1
  181. package/.next/server/app/chat.rsc +3 -3
  182. package/.next/server/app/chat.segments/_full.segment.rsc +3 -3
  183. package/.next/server/app/chat.segments/_head.segment.rsc +1 -1
  184. package/.next/server/app/chat.segments/_index.segment.rsc +2 -2
  185. package/.next/server/app/chat.segments/_tree.segment.rsc +1 -1
  186. package/.next/server/app/chat.segments/chat/__PAGE__.segment.rsc +2 -2
  187. package/.next/server/app/chat.segments/chat.segment.rsc +1 -1
  188. package/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  189. package/.next/server/app/docs.html +1 -1
  190. package/.next/server/app/docs.rsc +3 -3
  191. package/.next/server/app/docs.segments/_full.segment.rsc +3 -3
  192. package/.next/server/app/docs.segments/_head.segment.rsc +1 -1
  193. package/.next/server/app/docs.segments/_index.segment.rsc +2 -2
  194. package/.next/server/app/docs.segments/_tree.segment.rsc +1 -1
  195. package/.next/server/app/docs.segments/docs/__PAGE__.segment.rsc +2 -2
  196. package/.next/server/app/docs.segments/docs.segment.rsc +1 -1
  197. package/.next/server/app/executions/page_client-reference-manifest.js +1 -1
  198. package/.next/server/app/executions.html +1 -1
  199. package/.next/server/app/executions.rsc +3 -3
  200. package/.next/server/app/executions.segments/_full.segment.rsc +3 -3
  201. package/.next/server/app/executions.segments/_head.segment.rsc +1 -1
  202. package/.next/server/app/executions.segments/_index.segment.rsc +2 -2
  203. package/.next/server/app/executions.segments/_tree.segment.rsc +1 -1
  204. package/.next/server/app/executions.segments/executions/__PAGE__.segment.rsc +2 -2
  205. package/.next/server/app/executions.segments/executions.segment.rsc +1 -1
  206. package/.next/server/app/flows/page.js +5 -5
  207. package/.next/server/app/flows/page.js.nft.json +1 -1
  208. package/.next/server/app/flows/page_client-reference-manifest.js +1 -1
  209. package/.next/server/app/flows.html +1 -1
  210. package/.next/server/app/flows.rsc +3 -3
  211. package/.next/server/app/flows.segments/_full.segment.rsc +3 -3
  212. package/.next/server/app/flows.segments/_head.segment.rsc +1 -1
  213. package/.next/server/app/flows.segments/_index.segment.rsc +2 -2
  214. package/.next/server/app/flows.segments/_tree.segment.rsc +1 -1
  215. package/.next/server/app/flows.segments/flows/__PAGE__.segment.rsc +2 -2
  216. package/.next/server/app/flows.segments/flows.segment.rsc +1 -1
  217. package/.next/server/app/index.html +1 -1
  218. package/.next/server/app/index.rsc +3 -3
  219. package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  220. package/.next/server/app/index.segments/_full.segment.rsc +3 -3
  221. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  222. package/.next/server/app/index.segments/_index.segment.rsc +2 -2
  223. package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  224. package/.next/server/app/mcp/page.js +1 -1
  225. package/.next/server/app/mcp/page_client-reference-manifest.js +1 -1
  226. package/.next/server/app/mcp-flows/route.js +1 -1
  227. package/.next/server/app/mcp-flows/route.js.nft.json +1 -1
  228. package/.next/server/app/mcp-proxy/[server]/route.js +1 -1
  229. package/.next/server/app/mcp-proxy/[server]/route.js.nft.json +1 -1
  230. package/.next/server/app/mcp.html +1 -1
  231. package/.next/server/app/mcp.rsc +3 -3
  232. package/.next/server/app/mcp.segments/_full.segment.rsc +3 -3
  233. package/.next/server/app/mcp.segments/_head.segment.rsc +1 -1
  234. package/.next/server/app/mcp.segments/_index.segment.rsc +2 -2
  235. package/.next/server/app/mcp.segments/_tree.segment.rsc +1 -1
  236. package/.next/server/app/mcp.segments/mcp/__PAGE__.segment.rsc +2 -2
  237. package/.next/server/app/mcp.segments/mcp.segment.rsc +1 -1
  238. package/.next/server/app/meetings/page_client-reference-manifest.js +1 -1
  239. package/.next/server/app/meetings.html +1 -1
  240. package/.next/server/app/meetings.rsc +3 -3
  241. package/.next/server/app/meetings.segments/_full.segment.rsc +3 -3
  242. package/.next/server/app/meetings.segments/_head.segment.rsc +1 -1
  243. package/.next/server/app/meetings.segments/_index.segment.rsc +2 -2
  244. package/.next/server/app/meetings.segments/_tree.segment.rsc +1 -1
  245. package/.next/server/app/meetings.segments/meetings/__PAGE__.segment.rsc +2 -2
  246. package/.next/server/app/meetings.segments/meetings.segment.rsc +1 -1
  247. package/.next/server/app/models/page.js +3 -3
  248. package/.next/server/app/models/page_client-reference-manifest.js +1 -1
  249. package/.next/server/app/packages/page_client-reference-manifest.js +1 -1
  250. package/.next/server/app/packages.html +1 -1
  251. package/.next/server/app/packages.rsc +3 -3
  252. package/.next/server/app/packages.segments/_full.segment.rsc +3 -3
  253. package/.next/server/app/packages.segments/_head.segment.rsc +1 -1
  254. package/.next/server/app/packages.segments/_index.segment.rsc +2 -2
  255. package/.next/server/app/packages.segments/_tree.segment.rsc +1 -1
  256. package/.next/server/app/packages.segments/packages/__PAGE__.segment.rsc +2 -2
  257. package/.next/server/app/packages.segments/packages.segment.rsc +1 -1
  258. package/.next/server/app/page_client-reference-manifest.js +1 -1
  259. package/.next/server/app/settings/page.js +2 -2
  260. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  261. package/.next/server/app/settings.html +1 -1
  262. package/.next/server/app/settings.rsc +3 -3
  263. package/.next/server/app/settings.segments/_full.segment.rsc +3 -3
  264. package/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  265. package/.next/server/app/settings.segments/_index.segment.rsc +2 -2
  266. package/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
  267. package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +2 -2
  268. package/.next/server/app/settings.segments/settings.segment.rsc +1 -1
  269. package/.next/server/app/statistics/page_client-reference-manifest.js +1 -1
  270. package/.next/server/app/statistics.html +1 -1
  271. package/.next/server/app/statistics.rsc +3 -3
  272. package/.next/server/app/statistics.segments/_full.segment.rsc +3 -3
  273. package/.next/server/app/statistics.segments/_head.segment.rsc +1 -1
  274. package/.next/server/app/statistics.segments/_index.segment.rsc +2 -2
  275. package/.next/server/app/statistics.segments/_tree.segment.rsc +1 -1
  276. package/.next/server/app/statistics.segments/statistics/__PAGE__.segment.rsc +2 -2
  277. package/.next/server/app/statistics.segments/statistics.segment.rsc +1 -1
  278. package/.next/server/app/v1/chat/completions/route.js +1 -1
  279. package/.next/server/app/v1/chat/completions/route.js.nft.json +1 -1
  280. package/.next/server/app/v1/chat/conversation-chains/route.js +1 -1
  281. package/.next/server/app/v1/chat/conversation-chains/route.js.nft.json +1 -1
  282. package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route.js +1 -1
  283. package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route.js.nft.json +1 -1
  284. package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route.js +1 -1
  285. package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route.js.nft.json +1 -1
  286. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/attach/route.js +1 -1
  287. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/attach/route.js.nft.json +1 -1
  288. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route.js +1 -1
  289. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route.js.nft.json +1 -1
  290. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/state/route.js +1 -1
  291. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/state/route.js.nft.json +1 -1
  292. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route.js +1 -1
  293. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route.js.nft.json +1 -1
  294. package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route.js +1 -1
  295. package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route.js.nft.json +1 -1
  296. package/.next/server/app/v1/chat/conversations/[conversationId]/events/route.js +1 -1
  297. package/.next/server/app/v1/chat/conversations/[conversationId]/events/route.js.nft.json +1 -1
  298. package/.next/server/app/v1/chat/conversations/[conversationId]/inject/route.js +1 -1
  299. package/.next/server/app/v1/chat/conversations/[conversationId]/inject/route.js.nft.json +1 -1
  300. package/.next/server/app/v1/chat/conversations/[conversationId]/recovery/route.js +1 -1
  301. package/.next/server/app/v1/chat/conversations/[conversationId]/recovery/route.js.nft.json +1 -1
  302. package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route.js +1 -1
  303. package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route.js.nft.json +1 -1
  304. package/.next/server/app/v1/chat/conversations/[conversationId]/revert/route.js +1 -1
  305. package/.next/server/app/v1/chat/conversations/[conversationId]/revert/route.js.nft.json +1 -1
  306. package/.next/server/app/v1/chat/conversations/[conversationId]/route.js +1 -1
  307. package/.next/server/app/v1/chat/conversations/[conversationId]/route.js.nft.json +1 -1
  308. package/.next/server/app/v1/chat/conversations/route.js +1 -1
  309. package/.next/server/app/v1/chat/conversations/route.js.nft.json +1 -1
  310. package/.next/server/app/v1/chat/events/route.js +1 -1
  311. package/.next/server/app/v1/chat/events/route.js.nft.json +1 -1
  312. package/.next/server/app/v1/meetings/[meetingId]/cancel/route.js +1 -1
  313. package/.next/server/app/v1/meetings/[meetingId]/cancel/route.js.nft.json +1 -1
  314. package/.next/server/app/v1/meetings/[meetingId]/route.js +1 -1
  315. package/.next/server/app/v1/meetings/[meetingId]/route.js.nft.json +1 -1
  316. package/.next/server/app/v1/meetings/[meetingId]/start/route.js +1 -1
  317. package/.next/server/app/v1/meetings/[meetingId]/start/route.js.nft.json +1 -1
  318. package/.next/server/app/v1/meetings/route.js +1 -1
  319. package/.next/server/app/v1/meetings/route.js.nft.json +1 -1
  320. package/.next/server/app/v1/models/route.js +1 -1
  321. package/.next/server/app/v1/models/route.js.nft.json +1 -1
  322. package/.next/server/app/waves/page_client-reference-manifest.js +1 -1
  323. package/.next/server/app/waves.html +1 -1
  324. package/.next/server/app/waves.rsc +3 -3
  325. package/.next/server/app/waves.segments/_full.segment.rsc +3 -3
  326. package/.next/server/app/waves.segments/_head.segment.rsc +1 -1
  327. package/.next/server/app/waves.segments/_index.segment.rsc +2 -2
  328. package/.next/server/app/waves.segments/_tree.segment.rsc +1 -1
  329. package/.next/server/app/waves.segments/waves/__PAGE__.segment.rsc +2 -2
  330. package/.next/server/app/waves.segments/waves.segment.rsc +1 -1
  331. package/.next/server/app-paths-manifest.json +7 -7
  332. package/.next/server/chunks/1114.js +1 -1
  333. package/.next/server/chunks/{4271.js → 2126.js} +13 -13
  334. package/.next/server/chunks/2425.js +1 -1
  335. package/.next/server/chunks/244.js +1 -1
  336. package/.next/server/chunks/2728.js +1 -1
  337. package/.next/server/chunks/2970.js +1 -1
  338. package/.next/server/chunks/3133.js +2 -2
  339. package/.next/server/chunks/4558.js +1 -1
  340. package/.next/server/chunks/4779.js +1 -0
  341. package/.next/server/chunks/531.js +1 -1
  342. package/.next/server/chunks/5354.js +1 -1
  343. package/.next/server/chunks/5831.js +1 -1
  344. package/.next/server/chunks/609.js +1 -1
  345. package/.next/server/chunks/75.js +1 -1
  346. package/.next/server/chunks/7513.js +1 -1
  347. package/.next/server/chunks/7754.js +60 -60
  348. package/.next/server/chunks/811.js +1 -1
  349. package/.next/server/chunks/8542.js +1 -1
  350. package/.next/server/chunks/87.js +1 -1
  351. package/.next/server/chunks/8767.js +1 -1
  352. package/.next/server/middleware-build-manifest.js +1 -1
  353. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  354. package/.next/server/pages/404.html +1 -1
  355. package/.next/server/pages/500.html +1 -1
  356. package/.next/server/server-reference-manifest.js +1 -1
  357. package/.next/server/server-reference-manifest.json +1 -1
  358. package/.next/static/chunks/{8851-1ea4bbf9945c7b34.js → 2375-af6ebf80d9cb9975.js} +2 -2
  359. package/.next/static/chunks/{4742-e151939b0ae7ba74.js → 3841-0e4a10c621cac0e6.js} +1 -1
  360. package/.next/static/chunks/{5147-d239d0147237bb58.js → 5147-ec07dd70c20ec0b5.js} +1 -1
  361. package/.next/static/chunks/5212-898f308c44a32c22.js +2 -0
  362. package/.next/static/chunks/7401-cffc7c5fa1f5f06e.js +10 -0
  363. package/.next/static/chunks/app/chat/page-5b6d507b576cea9c.js +7 -0
  364. package/.next/static/chunks/app/flows/page-9b16d049d43ac817.js +9 -0
  365. package/.next/static/chunks/app/mcp/{page-70535f4bce57edbe.js → page-e4c284466c17fe32.js} +1 -1
  366. package/.next/static/chunks/app/models/page-2891efa80c126790.js +11 -0
  367. package/.next/static/chunks/{webpack-7efb2620f630c7d5.js → webpack-d9f1e56ee69d988f.js} +1 -1
  368. package/.next/trace +104 -104
  369. package/.next/trace-build +1 -1
  370. package/README.md +6 -3
  371. package/mcp-servers/bash/package.json +1 -1
  372. package/mcp-servers/browser/dist/resources.js +29 -3
  373. package/mcp-servers/browser/dist/resources.js.map +1 -1
  374. package/mcp-servers/browser/package.json +1 -1
  375. package/mcp-servers/filesystem/dist/resources.js +1 -1
  376. package/mcp-servers/filesystem/package.json +1 -1
  377. package/mcp-servers/flujo/package.json +1 -1
  378. package/package.json +5 -5
  379. package/.next/server/chunks/387.js +0 -1
  380. package/.next/static/chunks/5212-fa397222d5251b43.js +0 -2
  381. package/.next/static/chunks/7401-b0f0d4a7b2597302.js +0 -10
  382. package/.next/static/chunks/app/chat/page-3db891cc7ba29084.js +0 -7
  383. package/.next/static/chunks/app/flows/page-6b6748bc74604103.js +0 -9
  384. package/.next/static/chunks/app/models/page-e3430501cd05ff1f.js +0 -11
  385. /package/.next/static/{yjYCceqlIl4V9blcEb5AK → 4x_Vc1-WtJtqgqFZnCq3D}/_buildManifest.js +0 -0
  386. /package/.next/static/{yjYCceqlIl4V9blcEb5AK → 4x_Vc1-WtJtqgqFZnCq3D}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en" class="modern-theme" data-visual-style="modern" style="color-scheme:light"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/b496025c9cd768cc.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/e07f2bf4fa519943.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/b7af846bc794bc52.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-7efb2620f630c7d5.js"/><script src="/_next/static/chunks/4bd1b696-df4c0fb946159b6a.js" async=""></script><script src="/_next/static/chunks/3794-3dbd06ff79d82322.js" async=""></script><script src="/_next/static/chunks/main-app-0034400e107518c9.js" async=""></script><script src="/_next/static/chunks/1418-f51929a8b8570ebc.js" async=""></script><script src="/_next/static/chunks/9086-532cfae1b7518d44.js" async=""></script><script src="/_next/static/chunks/5212-fa397222d5251b43.js" async=""></script><script src="/_next/static/chunks/9749-b33c337059296bdc.js" async=""></script><script src="/_next/static/chunks/7442-3e450bd880b7935a.js" async=""></script><script src="/_next/static/chunks/app/layout-b2b714a264714a88.js" async=""></script><script src="/_next/static/chunks/2457-6aee43c03314b6e6.js" async=""></script><script src="/_next/static/chunks/6714-421da18fa5366363.js" async=""></script><script src="/_next/static/chunks/8111-55ff10e1dbdcc048.js" async=""></script><script src="/_next/static/chunks/1627-124d5cb0ebb88761.js" async=""></script><script src="/_next/static/chunks/2782-c25c4f3985e377f9.js" async=""></script><script src="/_next/static/chunks/9852-d18a37f927477b17.js" async=""></script><script src="/_next/static/chunks/6686-520056e9d05e5f53.js" async=""></script><script src="/_next/static/chunks/1216-4c75d6e5efe2e193.js" async=""></script><script src="/_next/static/chunks/238-394f563730772bf9.js" async=""></script><script src="/_next/static/chunks/3420-e68648b921dcdeba.js" async=""></script><script src="/_next/static/chunks/8961-961e3ac24b2bbd7b.js" async=""></script><script src="/_next/static/chunks/191-84dad5acb0ddd598.js" async=""></script><script src="/_next/static/chunks/3883-2761a18e23f041b1.js" async=""></script><script src="/_next/static/chunks/7268-1e426afed4183324.js" async=""></script><script src="/_next/static/chunks/8540-936eb8e289d21155.js" async=""></script><script src="/_next/static/chunks/5672-145796e56359a0f6.js" async=""></script><script src="/_next/static/chunks/app/page-c2b806ba1345b5e7.js" async=""></script><meta name="theme-color" content="#F5F7FF" media="(prefers-color-scheme: light)"/><meta name="theme-color" content="#070912" media="(prefers-color-scheme: dark)"/><title>FLUJO — Local AI Operations</title><meta name="description" content="Design, connect, and run private AI systems from one local operations studio."/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_246ccd __variable_c29908 antialiased"><div hidden=""><!--$--><!--/$--></div><!--$--><div class="app-loading" role="status" aria-live="polite"><div class="app-loading__content"><div class="app-loading__mark" aria-hidden="true"><span>F</span></div><span>Opening your workspace</span></div></div><!--/$--><script src="/_next/static/chunks/webpack-7efb2620f630c7d5.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[30343,[\"1418\",\"static/chunks/1418-f51929a8b8570ebc.js\",\"9086\",\"static/chunks/9086-532cfae1b7518d44.js\",\"5212\",\"static/chunks/5212-fa397222d5251b43.js\",\"9749\",\"static/chunks/9749-b33c337059296bdc.js\",\"7442\",\"static/chunks/7442-3e450bd880b7935a.js\",\"7177\",\"static/chunks/app/layout-b2b714a264714a88.js\"],\"default\"]\n3:I[57121,[],\"\"]\n4:I[74581,[],\"\"]\n5:I[61304,[],\"ClientPageRoot\"]\n6:I[13357,[\"2457\",\"static/chunks/2457-6aee43c03314b6e6.js\",\"6714\",\"static/chunks/6714-421da18fa5366363.js\",\"8111\",\"static/chunks/8111-55ff10e1dbdcc048.js\",\"1627\",\"static/chunks/1627-124d5cb0ebb88761.js\",\"2782\",\"static/chunks/2782-c25c4f3985e377f9.js\",\"9852\",\"static/chunks/9852-d18a37f927477b17.js\",\"1418\",\"static/chunks/1418-f51929a8b8570ebc.js\",\"6686\",\"static/chunks/6686-520056e9d05e5f53.js\",\"1216\",\"static/chunks/1216-4c75d6e5efe2e193.js\",\"238\",\"static/chunks/238-394f563730772bf9.js\",\"3420\",\"static/chunks/3420-e68648b921dcdeba.js\",\"8961\",\"static/chunks/8961-961e3ac24b2bbd7b.js\",\"191\",\"static/chunks/191-84dad5acb0ddd598.js\",\"3883\",\"static/chunks/3883-2761a18e23f041b1.js\",\"7268\",\"static/chunks/7268-1e426afed4183324.js\",\"5212\",\"static/chunks/5212-fa397222d5251b43.js\",\"9749\",\"static/chunks/9749-b33c337059296bdc.js\",\"8540\",\"static/chunks/8540-936eb8e289d21155.js\",\"5672\",\"static/chunks/5672-145796e56359a0f6.js\",\"8974\",\"static/chunks/app/page-c2b806ba1345b5e7.js\"],\"default\"]\n9:I[90484,[],\"OutletBoundary\"]\na:\"$Sreact.suspense\"\nc:I[90484,[],\"ViewportBoundary\"]\ne:I[90484,[],\"MetadataBoundary\"]\n10:I[27123,[],\"default\",1]\n:HL[\"/_next/static/css/b496025c9cd768cc.css\",\"style\"]\n:HL[\"/_next/static/css/e07f2bf4fa519943.css\",\"style\"]\n:HL[\"/_next/static/css/b7af846bc794bc52.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/b496025c9cd768cc.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/e07f2bf4fa519943.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"2\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/b7af846bc794bc52.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"modern-theme\",\"data-visual-style\":\"modern\",\"style\":{\"colorScheme\":\"light\"},\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"className\":\"__variable_246ccd __variable_c29908 antialiased\",\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L5\",null,{\"Component\":\"$6\",\"serverProvidedParams\":{\"searchParams\":{},\"params\":{},\"promises\":[\"$@7\",\"$@8\"]}}],null,[\"$\",\"$L9\",null,{\"children\":[\"$\",\"$a\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@b\"}]}]]}],{},null,false,null]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$Lc\",null,{\"children\":\"$Ld\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Le\",null,{\"children\":[\"$\",\"$a\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lf\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$10\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"yjYCceqlIl4V9blcEb5AK\"}\n"])</script><script>self.__next_f.push([1,"7:{}\n8:\"$0:f:0:1:1:children:0:props:children:0:props:serverProvidedParams:params\"\n"])</script><script>self.__next_f.push([1,"d:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#F5F7FF\",\"media\":\"(prefers-color-scheme: light)\"}],[\"$\",\"meta\",\"3\",{\"name\":\"theme-color\",\"content\":\"#070912\",\"media\":\"(prefers-color-scheme: dark)\"}]]\n"])</script><script>self.__next_f.push([1,"b:null\nf:[[\"$\",\"title\",\"0\",{\"children\":\"FLUJO — Local AI Operations\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Design, connect, and run private AI systems from one local operations studio.\"}]]\n"])</script></body></html>
1
+ <!DOCTYPE html><html lang="en" class="modern-theme" data-visual-style="modern" style="color-scheme:light"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/b496025c9cd768cc.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/e07f2bf4fa519943.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/b7af846bc794bc52.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-d9f1e56ee69d988f.js"/><script src="/_next/static/chunks/4bd1b696-df4c0fb946159b6a.js" async=""></script><script src="/_next/static/chunks/3794-3dbd06ff79d82322.js" async=""></script><script src="/_next/static/chunks/main-app-0034400e107518c9.js" async=""></script><script src="/_next/static/chunks/1418-f51929a8b8570ebc.js" async=""></script><script src="/_next/static/chunks/9086-532cfae1b7518d44.js" async=""></script><script src="/_next/static/chunks/5212-898f308c44a32c22.js" async=""></script><script src="/_next/static/chunks/9749-b33c337059296bdc.js" async=""></script><script src="/_next/static/chunks/7442-3e450bd880b7935a.js" async=""></script><script src="/_next/static/chunks/app/layout-b2b714a264714a88.js" async=""></script><script src="/_next/static/chunks/2457-6aee43c03314b6e6.js" async=""></script><script src="/_next/static/chunks/6714-421da18fa5366363.js" async=""></script><script src="/_next/static/chunks/8111-55ff10e1dbdcc048.js" async=""></script><script src="/_next/static/chunks/1627-124d5cb0ebb88761.js" async=""></script><script src="/_next/static/chunks/2782-c25c4f3985e377f9.js" async=""></script><script src="/_next/static/chunks/9852-d18a37f927477b17.js" async=""></script><script src="/_next/static/chunks/6686-520056e9d05e5f53.js" async=""></script><script src="/_next/static/chunks/1216-4c75d6e5efe2e193.js" async=""></script><script src="/_next/static/chunks/238-394f563730772bf9.js" async=""></script><script src="/_next/static/chunks/3420-e68648b921dcdeba.js" async=""></script><script src="/_next/static/chunks/8961-961e3ac24b2bbd7b.js" async=""></script><script src="/_next/static/chunks/191-84dad5acb0ddd598.js" async=""></script><script src="/_next/static/chunks/3883-2761a18e23f041b1.js" async=""></script><script src="/_next/static/chunks/7268-1e426afed4183324.js" async=""></script><script src="/_next/static/chunks/8540-936eb8e289d21155.js" async=""></script><script src="/_next/static/chunks/5672-145796e56359a0f6.js" async=""></script><script src="/_next/static/chunks/app/page-c2b806ba1345b5e7.js" async=""></script><meta name="theme-color" content="#F5F7FF" media="(prefers-color-scheme: light)"/><meta name="theme-color" content="#070912" media="(prefers-color-scheme: dark)"/><title>FLUJO — Local AI Operations</title><meta name="description" content="Design, connect, and run private AI systems from one local operations studio."/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_246ccd __variable_c29908 antialiased"><div hidden=""><!--$--><!--/$--></div><!--$--><div class="app-loading" role="status" aria-live="polite"><div class="app-loading__content"><div class="app-loading__mark" aria-hidden="true"><span>F</span></div><span>Opening your workspace</span></div></div><!--/$--><script src="/_next/static/chunks/webpack-d9f1e56ee69d988f.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[30343,[\"1418\",\"static/chunks/1418-f51929a8b8570ebc.js\",\"9086\",\"static/chunks/9086-532cfae1b7518d44.js\",\"5212\",\"static/chunks/5212-898f308c44a32c22.js\",\"9749\",\"static/chunks/9749-b33c337059296bdc.js\",\"7442\",\"static/chunks/7442-3e450bd880b7935a.js\",\"7177\",\"static/chunks/app/layout-b2b714a264714a88.js\"],\"default\"]\n3:I[57121,[],\"\"]\n4:I[74581,[],\"\"]\n5:I[61304,[],\"ClientPageRoot\"]\n6:I[13357,[\"2457\",\"static/chunks/2457-6aee43c03314b6e6.js\",\"6714\",\"static/chunks/6714-421da18fa5366363.js\",\"8111\",\"static/chunks/8111-55ff10e1dbdcc048.js\",\"1627\",\"static/chunks/1627-124d5cb0ebb88761.js\",\"2782\",\"static/chunks/2782-c25c4f3985e377f9.js\",\"9852\",\"static/chunks/9852-d18a37f927477b17.js\",\"1418\",\"static/chunks/1418-f51929a8b8570ebc.js\",\"6686\",\"static/chunks/6686-520056e9d05e5f53.js\",\"1216\",\"static/chunks/1216-4c75d6e5efe2e193.js\",\"238\",\"static/chunks/238-394f563730772bf9.js\",\"3420\",\"static/chunks/3420-e68648b921dcdeba.js\",\"8961\",\"static/chunks/8961-961e3ac24b2bbd7b.js\",\"191\",\"static/chunks/191-84dad5acb0ddd598.js\",\"3883\",\"static/chunks/3883-2761a18e23f041b1.js\",\"7268\",\"static/chunks/7268-1e426afed4183324.js\",\"5212\",\"static/chunks/5212-898f308c44a32c22.js\",\"9749\",\"static/chunks/9749-b33c337059296bdc.js\",\"8540\",\"static/chunks/8540-936eb8e289d21155.js\",\"5672\",\"static/chunks/5672-145796e56359a0f6.js\",\"8974\",\"static/chunks/app/page-c2b806ba1345b5e7.js\"],\"default\"]\n9:I[90484,[],\"OutletBoundary\"]\na:\"$Sreact.suspense\"\nc:I[90484,[],\"ViewportBoundary\"]\ne:I[90484,[],\"MetadataBoundary\"]\n10:I[27123,[],\"default\",1]\n:HL[\"/_next/static/css/b496025c9cd768cc.css\",\"style\"]\n:HL[\"/_next/static/css/e07f2bf4fa519943.css\",\"style\"]\n:HL[\"/_next/static/css/b7af846bc794bc52.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/b496025c9cd768cc.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/e07f2bf4fa519943.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"2\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/b7af846bc794bc52.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"modern-theme\",\"data-visual-style\":\"modern\",\"style\":{\"colorScheme\":\"light\"},\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"className\":\"__variable_246ccd __variable_c29908 antialiased\",\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L5\",null,{\"Component\":\"$6\",\"serverProvidedParams\":{\"searchParams\":{},\"params\":{},\"promises\":[\"$@7\",\"$@8\"]}}],null,[\"$\",\"$L9\",null,{\"children\":[\"$\",\"$a\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@b\"}]}]]}],{},null,false,null]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$Lc\",null,{\"children\":\"$Ld\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Le\",null,{\"children\":[\"$\",\"$a\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lf\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$10\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"4x_Vc1-WtJtqgqFZnCq3D\"}\n"])</script><script>self.__next_f.push([1,"7:{}\n8:\"$0:f:0:1:1:children:0:props:children:0:props:serverProvidedParams:params\"\n"])</script><script>self.__next_f.push([1,"d:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#F5F7FF\",\"media\":\"(prefers-color-scheme: light)\"}],[\"$\",\"meta\",\"3\",{\"name\":\"theme-color\",\"content\":\"#070912\",\"media\":\"(prefers-color-scheme: dark)\"}]]\n"])</script><script>self.__next_f.push([1,"b:null\nf:[[\"$\",\"title\",\"0\",{\"children\":\"FLUJO — Local AI Operations\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Design, connect, and run private AI systems from one local operations studio.\"}]]\n"])</script></body></html>
@@ -1,9 +1,9 @@
1
1
  1:"$Sreact.fragment"
2
- 2:I[30343,["1418","static/chunks/1418-f51929a8b8570ebc.js","9086","static/chunks/9086-532cfae1b7518d44.js","5212","static/chunks/5212-fa397222d5251b43.js","9749","static/chunks/9749-b33c337059296bdc.js","7442","static/chunks/7442-3e450bd880b7935a.js","7177","static/chunks/app/layout-b2b714a264714a88.js"],"default"]
2
+ 2:I[30343,["1418","static/chunks/1418-f51929a8b8570ebc.js","9086","static/chunks/9086-532cfae1b7518d44.js","5212","static/chunks/5212-898f308c44a32c22.js","9749","static/chunks/9749-b33c337059296bdc.js","7442","static/chunks/7442-3e450bd880b7935a.js","7177","static/chunks/app/layout-b2b714a264714a88.js"],"default"]
3
3
  3:I[57121,[],""]
4
4
  4:I[74581,[],""]
5
5
  5:I[61304,[],"ClientPageRoot"]
6
- 6:I[13357,["2457","static/chunks/2457-6aee43c03314b6e6.js","6714","static/chunks/6714-421da18fa5366363.js","8111","static/chunks/8111-55ff10e1dbdcc048.js","1627","static/chunks/1627-124d5cb0ebb88761.js","2782","static/chunks/2782-c25c4f3985e377f9.js","9852","static/chunks/9852-d18a37f927477b17.js","1418","static/chunks/1418-f51929a8b8570ebc.js","6686","static/chunks/6686-520056e9d05e5f53.js","1216","static/chunks/1216-4c75d6e5efe2e193.js","238","static/chunks/238-394f563730772bf9.js","3420","static/chunks/3420-e68648b921dcdeba.js","8961","static/chunks/8961-961e3ac24b2bbd7b.js","191","static/chunks/191-84dad5acb0ddd598.js","3883","static/chunks/3883-2761a18e23f041b1.js","7268","static/chunks/7268-1e426afed4183324.js","5212","static/chunks/5212-fa397222d5251b43.js","9749","static/chunks/9749-b33c337059296bdc.js","8540","static/chunks/8540-936eb8e289d21155.js","5672","static/chunks/5672-145796e56359a0f6.js","8974","static/chunks/app/page-c2b806ba1345b5e7.js"],"default"]
6
+ 6:I[13357,["2457","static/chunks/2457-6aee43c03314b6e6.js","6714","static/chunks/6714-421da18fa5366363.js","8111","static/chunks/8111-55ff10e1dbdcc048.js","1627","static/chunks/1627-124d5cb0ebb88761.js","2782","static/chunks/2782-c25c4f3985e377f9.js","9852","static/chunks/9852-d18a37f927477b17.js","1418","static/chunks/1418-f51929a8b8570ebc.js","6686","static/chunks/6686-520056e9d05e5f53.js","1216","static/chunks/1216-4c75d6e5efe2e193.js","238","static/chunks/238-394f563730772bf9.js","3420","static/chunks/3420-e68648b921dcdeba.js","8961","static/chunks/8961-961e3ac24b2bbd7b.js","191","static/chunks/191-84dad5acb0ddd598.js","3883","static/chunks/3883-2761a18e23f041b1.js","7268","static/chunks/7268-1e426afed4183324.js","5212","static/chunks/5212-898f308c44a32c22.js","9749","static/chunks/9749-b33c337059296bdc.js","8540","static/chunks/8540-936eb8e289d21155.js","5672","static/chunks/5672-145796e56359a0f6.js","8974","static/chunks/app/page-c2b806ba1345b5e7.js"],"default"]
7
7
  9:I[90484,[],"OutletBoundary"]
8
8
  a:"$Sreact.suspense"
9
9
  c:I[90484,[],"ViewportBoundary"]
@@ -12,7 +12,7 @@ e:I[90484,[],"MetadataBoundary"]
12
12
  :HL["/_next/static/css/b496025c9cd768cc.css","style"]
13
13
  :HL["/_next/static/css/e07f2bf4fa519943.css","style"]
14
14
  :HL["/_next/static/css/b7af846bc794bc52.css","style"]
15
- 0:{"P":null,"c":["",""],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/b496025c9cd768cc.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/e07f2bf4fa519943.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","2",{"rel":"stylesheet","href":"/_next/static/css/b7af846bc794bc52.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","className":"modern-theme","data-visual-style":"modern","style":{"colorScheme":"light"},"suppressHydrationWarning":true,"children":["$","body",null,{"className":"__variable_246ccd __variable_c29908 antialiased","children":["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]}]]}],{"children":[["$","$1","c",{"children":[["$","$L5",null,{"Component":"$6","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@7","$@8"]}}],null,["$","$L9",null,{"children":["$","$a",null,{"name":"Next.MetadataOutlet","children":"$@b"}]}]]}],{},null,false,null]},null,false,null],["$","$1","h",{"children":[null,["$","$Lc",null,{"children":"$Ld"}],["$","div",null,{"hidden":true,"children":["$","$Le",null,{"children":["$","$a",null,{"name":"Next.Metadata","children":"$Lf"}]}]}],null]}],false]],"m":"$undefined","G":["$10",[]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"yjYCceqlIl4V9blcEb5AK"}
15
+ 0:{"P":null,"c":["",""],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/b496025c9cd768cc.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/e07f2bf4fa519943.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","2",{"rel":"stylesheet","href":"/_next/static/css/b7af846bc794bc52.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","className":"modern-theme","data-visual-style":"modern","style":{"colorScheme":"light"},"suppressHydrationWarning":true,"children":["$","body",null,{"className":"__variable_246ccd __variable_c29908 antialiased","children":["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]}]]}],{"children":[["$","$1","c",{"children":[["$","$L5",null,{"Component":"$6","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@7","$@8"]}}],null,["$","$L9",null,{"children":["$","$a",null,{"name":"Next.MetadataOutlet","children":"$@b"}]}]]}],{},null,false,null]},null,false,null],["$","$1","h",{"children":[null,["$","$Lc",null,{"children":"$Ld"}],["$","div",null,{"hidden":true,"children":["$","$Le",null,{"children":["$","$a",null,{"name":"Next.Metadata","children":"$Lf"}]}]}],null]}],false]],"m":"$undefined","G":["$10",[]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"4x_Vc1-WtJtqgqFZnCq3D"}
16
16
  7:{}
17
17
  8:"$0:f:0:1:1:children:0:props:children:0:props:serverProvidedParams:params"
18
18
  d:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","2",{"name":"theme-color","content":"#F5F7FF","media":"(prefers-color-scheme: light)"}],["$","meta","3",{"name":"theme-color","content":"#070912","media":"(prefers-color-scheme: dark)"}]]
@@ -1,9 +1,9 @@
1
1
  1:"$Sreact.fragment"
2
2
  2:I[61304,[],"ClientPageRoot"]
3
- 3:I[13357,["2457","static/chunks/2457-6aee43c03314b6e6.js","6714","static/chunks/6714-421da18fa5366363.js","8111","static/chunks/8111-55ff10e1dbdcc048.js","1627","static/chunks/1627-124d5cb0ebb88761.js","2782","static/chunks/2782-c25c4f3985e377f9.js","9852","static/chunks/9852-d18a37f927477b17.js","1418","static/chunks/1418-f51929a8b8570ebc.js","6686","static/chunks/6686-520056e9d05e5f53.js","1216","static/chunks/1216-4c75d6e5efe2e193.js","238","static/chunks/238-394f563730772bf9.js","3420","static/chunks/3420-e68648b921dcdeba.js","8961","static/chunks/8961-961e3ac24b2bbd7b.js","191","static/chunks/191-84dad5acb0ddd598.js","3883","static/chunks/3883-2761a18e23f041b1.js","7268","static/chunks/7268-1e426afed4183324.js","5212","static/chunks/5212-fa397222d5251b43.js","9749","static/chunks/9749-b33c337059296bdc.js","8540","static/chunks/8540-936eb8e289d21155.js","5672","static/chunks/5672-145796e56359a0f6.js","8974","static/chunks/app/page-c2b806ba1345b5e7.js"],"default"]
3
+ 3:I[13357,["2457","static/chunks/2457-6aee43c03314b6e6.js","6714","static/chunks/6714-421da18fa5366363.js","8111","static/chunks/8111-55ff10e1dbdcc048.js","1627","static/chunks/1627-124d5cb0ebb88761.js","2782","static/chunks/2782-c25c4f3985e377f9.js","9852","static/chunks/9852-d18a37f927477b17.js","1418","static/chunks/1418-f51929a8b8570ebc.js","6686","static/chunks/6686-520056e9d05e5f53.js","1216","static/chunks/1216-4c75d6e5efe2e193.js","238","static/chunks/238-394f563730772bf9.js","3420","static/chunks/3420-e68648b921dcdeba.js","8961","static/chunks/8961-961e3ac24b2bbd7b.js","191","static/chunks/191-84dad5acb0ddd598.js","3883","static/chunks/3883-2761a18e23f041b1.js","7268","static/chunks/7268-1e426afed4183324.js","5212","static/chunks/5212-898f308c44a32c22.js","9749","static/chunks/9749-b33c337059296bdc.js","8540","static/chunks/8540-936eb8e289d21155.js","5672","static/chunks/5672-145796e56359a0f6.js","8974","static/chunks/app/page-c2b806ba1345b5e7.js"],"default"]
4
4
  6:I[90484,[],"OutletBoundary"]
5
5
  7:"$Sreact.suspense"
6
- 0:{"rsc":["$","$1","c",{"children":[["$","$L2",null,{"Component":"$3","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@4","$@5"]}}],null,["$","$L6",null,{"children":["$","$7",null,{"name":"Next.MetadataOutlet","children":"$@8"}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"yjYCceqlIl4V9blcEb5AK"}
6
+ 0:{"rsc":["$","$1","c",{"children":[["$","$L2",null,{"Component":"$3","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@4","$@5"]}}],null,["$","$L6",null,{"children":["$","$7",null,{"name":"Next.MetadataOutlet","children":"$@8"}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"4x_Vc1-WtJtqgqFZnCq3D"}
7
7
  4:{}
8
8
  5:"$0:rsc:props:children:0:props:serverProvidedParams:params"
9
9
  8:null
@@ -1,9 +1,9 @@
1
1
  1:"$Sreact.fragment"
2
- 2:I[30343,["1418","static/chunks/1418-f51929a8b8570ebc.js","9086","static/chunks/9086-532cfae1b7518d44.js","5212","static/chunks/5212-fa397222d5251b43.js","9749","static/chunks/9749-b33c337059296bdc.js","7442","static/chunks/7442-3e450bd880b7935a.js","7177","static/chunks/app/layout-b2b714a264714a88.js"],"default"]
2
+ 2:I[30343,["1418","static/chunks/1418-f51929a8b8570ebc.js","9086","static/chunks/9086-532cfae1b7518d44.js","5212","static/chunks/5212-898f308c44a32c22.js","9749","static/chunks/9749-b33c337059296bdc.js","7442","static/chunks/7442-3e450bd880b7935a.js","7177","static/chunks/app/layout-b2b714a264714a88.js"],"default"]
3
3
  3:I[57121,[],""]
4
4
  4:I[74581,[],""]
5
5
  5:I[61304,[],"ClientPageRoot"]
6
- 6:I[13357,["2457","static/chunks/2457-6aee43c03314b6e6.js","6714","static/chunks/6714-421da18fa5366363.js","8111","static/chunks/8111-55ff10e1dbdcc048.js","1627","static/chunks/1627-124d5cb0ebb88761.js","2782","static/chunks/2782-c25c4f3985e377f9.js","9852","static/chunks/9852-d18a37f927477b17.js","1418","static/chunks/1418-f51929a8b8570ebc.js","6686","static/chunks/6686-520056e9d05e5f53.js","1216","static/chunks/1216-4c75d6e5efe2e193.js","238","static/chunks/238-394f563730772bf9.js","3420","static/chunks/3420-e68648b921dcdeba.js","8961","static/chunks/8961-961e3ac24b2bbd7b.js","191","static/chunks/191-84dad5acb0ddd598.js","3883","static/chunks/3883-2761a18e23f041b1.js","7268","static/chunks/7268-1e426afed4183324.js","5212","static/chunks/5212-fa397222d5251b43.js","9749","static/chunks/9749-b33c337059296bdc.js","8540","static/chunks/8540-936eb8e289d21155.js","5672","static/chunks/5672-145796e56359a0f6.js","8974","static/chunks/app/page-c2b806ba1345b5e7.js"],"default"]
6
+ 6:I[13357,["2457","static/chunks/2457-6aee43c03314b6e6.js","6714","static/chunks/6714-421da18fa5366363.js","8111","static/chunks/8111-55ff10e1dbdcc048.js","1627","static/chunks/1627-124d5cb0ebb88761.js","2782","static/chunks/2782-c25c4f3985e377f9.js","9852","static/chunks/9852-d18a37f927477b17.js","1418","static/chunks/1418-f51929a8b8570ebc.js","6686","static/chunks/6686-520056e9d05e5f53.js","1216","static/chunks/1216-4c75d6e5efe2e193.js","238","static/chunks/238-394f563730772bf9.js","3420","static/chunks/3420-e68648b921dcdeba.js","8961","static/chunks/8961-961e3ac24b2bbd7b.js","191","static/chunks/191-84dad5acb0ddd598.js","3883","static/chunks/3883-2761a18e23f041b1.js","7268","static/chunks/7268-1e426afed4183324.js","5212","static/chunks/5212-898f308c44a32c22.js","9749","static/chunks/9749-b33c337059296bdc.js","8540","static/chunks/8540-936eb8e289d21155.js","5672","static/chunks/5672-145796e56359a0f6.js","8974","static/chunks/app/page-c2b806ba1345b5e7.js"],"default"]
7
7
  9:I[90484,[],"OutletBoundary"]
8
8
  a:"$Sreact.suspense"
9
9
  c:I[90484,[],"ViewportBoundary"]
@@ -12,7 +12,7 @@ e:I[90484,[],"MetadataBoundary"]
12
12
  :HL["/_next/static/css/b496025c9cd768cc.css","style"]
13
13
  :HL["/_next/static/css/e07f2bf4fa519943.css","style"]
14
14
  :HL["/_next/static/css/b7af846bc794bc52.css","style"]
15
- 0:{"P":null,"c":["",""],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/b496025c9cd768cc.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/e07f2bf4fa519943.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","2",{"rel":"stylesheet","href":"/_next/static/css/b7af846bc794bc52.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","className":"modern-theme","data-visual-style":"modern","style":{"colorScheme":"light"},"suppressHydrationWarning":true,"children":["$","body",null,{"className":"__variable_246ccd __variable_c29908 antialiased","children":["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]}]]}],{"children":[["$","$1","c",{"children":[["$","$L5",null,{"Component":"$6","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@7","$@8"]}}],null,["$","$L9",null,{"children":["$","$a",null,{"name":"Next.MetadataOutlet","children":"$@b"}]}]]}],{},null,false,null]},null,false,null],["$","$1","h",{"children":[null,["$","$Lc",null,{"children":"$Ld"}],["$","div",null,{"hidden":true,"children":["$","$Le",null,{"children":["$","$a",null,{"name":"Next.Metadata","children":"$Lf"}]}]}],null]}],false]],"m":"$undefined","G":["$10",[]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"yjYCceqlIl4V9blcEb5AK"}
15
+ 0:{"P":null,"c":["",""],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/b496025c9cd768cc.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/e07f2bf4fa519943.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","2",{"rel":"stylesheet","href":"/_next/static/css/b7af846bc794bc52.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","className":"modern-theme","data-visual-style":"modern","style":{"colorScheme":"light"},"suppressHydrationWarning":true,"children":["$","body",null,{"className":"__variable_246ccd __variable_c29908 antialiased","children":["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]}]]}],{"children":[["$","$1","c",{"children":[["$","$L5",null,{"Component":"$6","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@7","$@8"]}}],null,["$","$L9",null,{"children":["$","$a",null,{"name":"Next.MetadataOutlet","children":"$@b"}]}]]}],{},null,false,null]},null,false,null],["$","$1","h",{"children":[null,["$","$Lc",null,{"children":"$Ld"}],["$","div",null,{"hidden":true,"children":["$","$Le",null,{"children":["$","$a",null,{"name":"Next.Metadata","children":"$Lf"}]}]}],null]}],false]],"m":"$undefined","G":["$10",[]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"4x_Vc1-WtJtqgqFZnCq3D"}
16
16
  7:{}
17
17
  8:"$0:f:0:1:1:children:0:props:children:0:props:serverProvidedParams:params"
18
18
  d:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","2",{"name":"theme-color","content":"#F5F7FF","media":"(prefers-color-scheme: light)"}],["$","meta","3",{"name":"theme-color","content":"#070912","media":"(prefers-color-scheme: dark)"}]]
@@ -2,4 +2,4 @@
2
2
  2:I[90484,[],"ViewportBoundary"]
3
3
  3:I[90484,[],"MetadataBoundary"]
4
4
  4:"$Sreact.suspense"
5
- 0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","2",{"name":"theme-color","content":"#F5F7FF","media":"(prefers-color-scheme: light)"}],["$","meta","3",{"name":"theme-color","content":"#070912","media":"(prefers-color-scheme: dark)"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"FLUJO — Local AI Operations"}],["$","meta","1",{"name":"description","content":"Design, connect, and run private AI systems from one local operations studio."}]]}]}]}],null]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"yjYCceqlIl4V9blcEb5AK"}
5
+ 0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","2",{"name":"theme-color","content":"#F5F7FF","media":"(prefers-color-scheme: light)"}],["$","meta","3",{"name":"theme-color","content":"#070912","media":"(prefers-color-scheme: dark)"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"FLUJO — Local AI Operations"}],["$","meta","1",{"name":"description","content":"Design, connect, and run private AI systems from one local operations studio."}]]}]}]}],null]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"4x_Vc1-WtJtqgqFZnCq3D"}
@@ -1,8 +1,8 @@
1
1
  1:"$Sreact.fragment"
2
- 2:I[30343,["1418","static/chunks/1418-f51929a8b8570ebc.js","9086","static/chunks/9086-532cfae1b7518d44.js","5212","static/chunks/5212-fa397222d5251b43.js","9749","static/chunks/9749-b33c337059296bdc.js","7442","static/chunks/7442-3e450bd880b7935a.js","7177","static/chunks/app/layout-b2b714a264714a88.js"],"default"]
2
+ 2:I[30343,["1418","static/chunks/1418-f51929a8b8570ebc.js","9086","static/chunks/9086-532cfae1b7518d44.js","5212","static/chunks/5212-898f308c44a32c22.js","9749","static/chunks/9749-b33c337059296bdc.js","7442","static/chunks/7442-3e450bd880b7935a.js","7177","static/chunks/app/layout-b2b714a264714a88.js"],"default"]
3
3
  3:I[57121,[],""]
4
4
  4:I[74581,[],""]
5
5
  :HL["/_next/static/css/b496025c9cd768cc.css","style"]
6
6
  :HL["/_next/static/css/e07f2bf4fa519943.css","style"]
7
7
  :HL["/_next/static/css/b7af846bc794bc52.css","style"]
8
- 0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/b496025c9cd768cc.css","precedence":"next"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/e07f2bf4fa519943.css","precedence":"next"}],["$","link","2",{"rel":"stylesheet","href":"/_next/static/css/b7af846bc794bc52.css","precedence":"next"}]],["$","html",null,{"lang":"en","className":"modern-theme","data-visual-style":"modern","style":{"colorScheme":"light"},"suppressHydrationWarning":true,"children":["$","body",null,{"className":"__variable_246ccd __variable_c29908 antialiased","children":["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","template":["$","$L4",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}]}]}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"yjYCceqlIl4V9blcEb5AK"}
8
+ 0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/b496025c9cd768cc.css","precedence":"next"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/e07f2bf4fa519943.css","precedence":"next"}],["$","link","2",{"rel":"stylesheet","href":"/_next/static/css/b7af846bc794bc52.css","precedence":"next"}]],["$","html",null,{"lang":"en","className":"modern-theme","data-visual-style":"modern","style":{"colorScheme":"light"},"suppressHydrationWarning":true,"children":["$","body",null,{"className":"__variable_246ccd __variable_c29908 antialiased","children":["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","template":["$","$L4",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}]}]}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"4x_Vc1-WtJtqgqFZnCq3D"}
@@ -1,4 +1,4 @@
1
1
  :HL["/_next/static/css/b496025c9cd768cc.css","style"]
2
2
  :HL["/_next/static/css/e07f2bf4fa519943.css","style"]
3
3
  :HL["/_next/static/css/b7af846bc794bc52.css","style"]
4
- 0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}},"staleTime":300,"buildId":"yjYCceqlIl4V9blcEb5AK"}
4
+ 0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}},"staleTime":300,"buildId":"4x_Vc1-WtJtqgqFZnCq3D"}
@@ -53,7 +53,7 @@ ${l("mcp.local.console.testError",{error:a.message||l("mcp.server.unknownError")
53
53
  ❌ ${l("mcp.local.messages.testFailed")}
54
54
  `))}catch(a){console.error("Error testing stdio connection:",a),f(b=>b+`
55
55
  ${l("mcp.local.console.testError",{error:a.message||l("mcp.server.unknownError")})}
56
- `),h({type:"error",text:l("mcp.local.messages.testError")})}finally{d(!1)}};var bp=c(37397),bq=c(218),br=c(19565),bs=c(52317),bt=c(46571);let bu=(0,a8.A)((0,d.jsx)("path",{fillRule:"evenodd",d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m4.54 13.85-.69.69c-.39.39-1.02.39-1.41 0l-3.05-3.05c-1.22.43-2.64.17-3.62-.81-1.11-1.11-1.3-2.79-.59-4.1l2.35 2.35 1.41-1.41-2.36-2.35c1.32-.71 2.99-.52 4.1.59.98.98 1.24 2.4.81 3.62l3.05 3.05c.39.39.39 1.03 0 1.42"}),"BuildCircleRounded");var bv=c(40596),bw=c(33439);async function bx(a,b){let c=await a.json().catch(()=>null);return Error(c?.error||b)}async function by(a,b,c){let d=await fetch("/api/mcp/assistant",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"research",...a}),signal:c});if(!d.ok)throw await bx(d,"Could not research MCP servers.");let e=null,f=null;if(await (0,bw.d)(d,async a=>{await b(a),"complete"===a.type&&(e=a.result),"error"===a.type&&(f=a.error)}),f)throw Error(f);if(!e)throw Error("Research ended without a recommendation.");return e}async function bz(a){let b=await fetch("/api/mcp/assistant",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"install",install:a})});if(!b.ok)throw await bx(b,"Could not install the MCP server.");return b.json()}async function bA(a){let b=await fetch("/api/mcp/assistant",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"troubleshoot",context:a})});if(!b.ok)throw await bx(b,"Could not diagnose this MCP setup.");return b.json()}function bB({context:a,onApplyPatch:b}){var c;let{t:g}=(0,q.s9)(),[h,i]=(0,f.useState)([]),[j,k]=(0,f.useState)(""),[l,m]=(0,f.useState)(!1),[p,r]=(0,f.useState)(null),[s,u]=(0,f.useState)(null),[w,y]=(0,f.useState)(!1),z=async()=>{if(j&&!l){m(!0),u(null),r(null),y(!1);try{r(await bA({...a,modelId:j}))}catch(a){u(a instanceof Error?a.message:String(a))}finally{m(!1)}}},A=p?.patch?[(c=p.patch).command?`command → ${c.command}`:null,c.args?`args → ${c.args.join(" ")}`:null,c.serverUrl?`URL → ${c.serverUrl}`:null,c.rootPath?`root → ${c.rootPath}`:null,c.installCommand?`install → ${c.installCommand}`:null,c.buildCommand?`build → ${c.buildCommand}`:null,c.addEnvNames?.length?`add empty env fields → ${c.addEnvNames.join(", ")}`:null,c.addHeaderNames?.length?`add empty header fields → ${c.addHeaderNames.join(", ")}`:null].filter(a=>!!a):[];return(0,d.jsx)(o.A,{variant:"outlined",sx:{mt:2,p:2,borderRadius:2.5},children:(0,d.jsxs)(v.A,{spacing:1.4,children:[(0,d.jsxs)(e.default,{sx:{display:"flex",alignItems:"flex-start",gap:1},children:[(0,d.jsx)(bu,{color:"primary"}),(0,d.jsxs)(e.default,{children:[(0,d.jsx)(n.A,{variant:"subtitle1",sx:{fontWeight:700},children:g("mcp.troubleshoot.title")}),(0,d.jsx)(n.A,{variant:"body2",color:"text.secondary",children:g("mcp.troubleshoot.description")})]})]}),(0,d.jsxs)(e.default,{sx:{display:"flex",gap:1,flexWrap:"wrap",alignItems:"center"},children:[(0,d.jsxs)(a4.A,{size:"small",sx:{minWidth:220},children:[(0,d.jsx)(a5.A,{id:"mcp-troubleshoot-model-label",children:g("mcp.ai.model")}),(0,d.jsx)(a6.A,{labelId:"mcp-troubleshoot-model-label",label:g("mcp.ai.model"),value:j,onChange:a=>k(a.target.value),disabled:l||0===h.length,children:h.map(a=>(0,d.jsx)(a7.A,{value:a.id,children:a.displayName||a.name},a.id))})]}),(0,d.jsx)(x.A,{variant:"outlined",startIcon:l?(0,d.jsx)(au.default,{size:17}):(0,d.jsx)(bt.A,{}),onClick:()=>void z(),disabled:l||!j,children:l?g("mcp.troubleshoot.diagnosing"):g("mcp.troubleshoot.askAi")}),(0,d.jsx)(ax.A,{size:"small",variant:"outlined",label:g("mcp.troubleshoot.privacy")})]}),s?(0,d.jsx)(t.A,{severity:"error",children:s}):null,p?(0,d.jsxs)(v.A,{spacing:1.2,children:[(0,d.jsx)(t.A,{severity:"info",children:p.diagnosis}),p.steps.length?(0,d.jsx)(e.default,{component:"ol",sx:{my:0,pl:2.7},children:p.steps.map(a=>(0,d.jsx)(n.A,{component:"li",variant:"body2",sx:{mb:.4},children:a},a))}):null,p.authHelp?(0,d.jsx)(t.A,{severity:"warning",children:p.authHelp}):null,p.researchedUrls?.length?(0,d.jsx)(e.default,{sx:{display:"flex",gap:1,flexWrap:"wrap"},children:p.researchedUrls.map(a=>(0,d.jsxs)(aO.A,{href:a,target:"_blank",rel:"noreferrer",sx:{display:"inline-flex",alignItems:"center",gap:.4,fontSize:12},children:[g("mcp.troubleshoot.researchedSource")," ",(0,d.jsx)(bv.A,{fontSize:"inherit"})]},a))}):null,p.patch&&A.length?(0,d.jsxs)(o.A,{variant:"outlined",sx:{p:1.4,bgcolor:"action.hover"},children:[(0,d.jsx)(n.A,{variant:"subtitle2",children:g("mcp.troubleshoot.proposedChanges")}),(0,d.jsx)(e.default,{component:"ul",sx:{my:.8,pl:2.4},children:A.map(a=>(0,d.jsx)(n.A,{component:"li",variant:"body2",sx:{fontFamily:"monospace"},children:a},a))}),(0,d.jsx)(x.A,{size:"small",variant:"contained",disabled:w,onClick:()=>{b(p.patch),y(!0)},children:w?g("mcp.troubleshoot.applied"):g("mcp.troubleshoot.apply")})]}):null]}):null]})})}let bC=({initialConfig:a,onAdd:b,onUpdate:c,onClose:g,autoTestRun:h,handoffId:i,onSaveAndAuthenticate:j})=>{let{t:k}=(0,q.s9)(),{localConfig:l,setLocalConfig:m,websocketUrl:o,setWebsocketUrl:r,serverUrl:s,setServerUrl:u,buildCommand:w,setBuildCommand:y,installCommand:z,setInstallCommand:A,message:B,setMessage:C,buildMessage:D,setBuildMessage:E,isBuilding:F,setIsBuilding:G,isInstalling:H,setIsInstalling:I,buildCompleted:J,setBuildCompleted:K,installCompleted:L,setInstallCompleted:M,isParsingReadme:N,setIsParsingReadme:O,isParsingEnv:P,setIsParsingEnv:Q,isRunning:R,setIsRunning:S,runCompleted:T,setRunCompleted:U,expandedSections:V,setExpandedSections:W,handleTransportChange:X,handleArgChange:Y,addArgField:Z,removeArgField:$,handleEnvChange:_}=(({initialConfig:a,isOpen:b=!0})=>{let{t:c}=(0,q.s9)(),[d,e]=(0,f.useState)({define:!0,build:!0,run:!0}),[g,h]=(0,f.useState)({name:"",command:"",args:[],env:{},disabled:!1,autoApprove:[],rootPath:"",transport:"stdio",_buildCommand:"",_installCommand:""}),[i,j]=(0,f.useState)(""),[k,l]=(0,f.useState)(""),[m,n]=(0,f.useState)(""),[o,p]=(0,f.useState)(""),[r,s]=(0,f.useState)(null),[t,u]=(0,f.useState)(null),[v,w]=(0,f.useState)(!1),[x,y]=(0,f.useState)(!1),[z,A]=(0,f.useState)(!1),[B,C]=(0,f.useState)(!1),[D,E]=(0,f.useState)(!1),[F,G]=(0,f.useState)(!1),[H,I]=(0,f.useState)(""),[J,K]=(0,f.useState)(!1),[L,M]=(0,f.useState)(!1),[N,O]=(0,f.useState)(!1),[P,Q]=(0,f.useState)(()=>c("mcp.local.console.output"));return(0,f.useEffect)(()=>{if(b)if(a){let b=a.rootPath||"";h({...a,rootPath:b}),n(a._buildCommand||""),p(a._installCommand||""),"websocket"===a.transport?(j(a.websocketUrl||""),l("")):"sse"===a.transport||"streamable"===a.transport?(l(a.serverUrl||""),j("")):(j(""),l(""))}else h({name:"",command:"",args:[],env:{},disabled:!1,autoApprove:[],rootPath:"",transport:"stdio",_buildCommand:"",_installCommand:""}),n(""),p(""),j(""),s(null),u(null),w(!1),y(!1),A(!1),C(!1),E(!1),G(!1),I(""),K(!1),M(!1),O(!1),Q(c("mcp.local.console.output")),e({define:!0,build:!0,run:!0})},[b,a,c]),{localConfig:g,setLocalConfig:h,websocketUrl:i,setWebsocketUrl:j,serverUrl:k,setServerUrl:l,buildCommand:m,setBuildCommand:n,installCommand:o,setInstallCommand:p,message:r,setMessage:s,buildMessage:t,setBuildMessage:u,isBuilding:v,setIsBuilding:w,isInstalling:x,setIsInstalling:y,buildCompleted:z,setBuildCompleted:A,installCompleted:B,setInstallCompleted:C,isParsingReadme:D,setIsParsingReadme:E,isParsingEnv:F,setIsParsingEnv:G,consoleOutput:H,setConsoleOutput:I,isConsoleVisible:J,setIsConsoleVisible:K,isRunning:L,setIsRunning:M,runCompleted:N,setRunCompleted:O,consoleTitle:P,setConsoleTitle:Q,expandedSections:d,setExpandedSections:e,handleTransportChange:a=>{"websocket"===a?h(a=>({name:a.name,disabled:a.disabled,autoApprove:a.autoApprove,rootPath:a.rootPath,env:a.env,_buildCommand:a._buildCommand,_installCommand:a._installCommand,roots:a.roots,exposeAsMcpServer:a.exposeAsMcpServer,sampling:a.sampling,transport:"websocket",websocketUrl:i})):"sse"===a?h(a=>({name:a.name,disabled:a.disabled,autoApprove:a.autoApprove,rootPath:a.rootPath,env:a.env,_buildCommand:a._buildCommand,_installCommand:a._installCommand,roots:a.roots,exposeAsMcpServer:a.exposeAsMcpServer,sampling:a.sampling,transport:"sse",serverUrl:k,headers:a.headers||{}})):"streamable"===a?h(a=>({name:a.name,disabled:a.disabled,autoApprove:a.autoApprove,rootPath:a.rootPath,env:a.env,_buildCommand:a._buildCommand,_installCommand:a._installCommand,roots:a.roots,exposeAsMcpServer:a.exposeAsMcpServer,sampling:a.sampling,transport:"streamable",serverUrl:k,headers:a.headers||{}})):h(a=>({name:a.name,command:"stdio"===a.transport?a.command:"",args:"stdio"===a.transport?a.args:[],disabled:a.disabled,autoApprove:a.autoApprove,rootPath:a.rootPath,env:a.env,_buildCommand:a._buildCommand,_installCommand:a._installCommand,roots:a.roots,exposeAsMcpServer:a.exposeAsMcpServer,sampling:a.sampling,transport:"stdio"}))},handleArgChange:(a,b)=>{"stdio"===g.transport&&h(c=>"stdio"===c.transport&&c.args?{...c,args:c.args.map((c,d)=>d===a?b:c)}:c)},addArgField:()=>{"stdio"===g.transport&&h(a=>{if("stdio"===a.transport){let b=a.args||[];return{...a,args:[...b,""]}}return a})},removeArgField:a=>{"stdio"===g.transport&&h(b=>"stdio"===b.transport&&b.args?{...b,args:b.args.filter((b,c)=>c!==a)}:b)},handleEnvChange:a=>{h(b=>{let c={...b,env:a};return"stdio"===b.transport||"websocket"===b.transport?c:b})}}})({initialConfig:a,isOpen:!0});(0,f.useEffect)(()=>{a&&a.name&&a.rootPath&&"stdio"===a.transport&&(!a.command||""===a.command)&&(!a._buildCommand||""===a._buildCommand)&&(!a._installCommand||""===a._installCommand)&&(C({type:"warning",text:k("mcp.local.detectionFailed")}),W({define:!0,build:!0,run:!0}))},[a,W,C,k]);let[aa,ab]=(0,f.useState)(!1),[ac,ad]=(0,f.useState)(null),ae=async()=>{ab(!0)},af=async a=>{ad(a)},ag=async()=>{await bk(l,m,C,y,A,r,o,k)},ah=async()=>{await bl(l,m,C,O,y,A,r,o,k)},ai=async()=>{await bm(l,z,I,E,ax,az,aC,M,k)},aj=async()=>{await bn(l,w,G,E,ax,az,aC,K,k)},[ak,al]=(0,f.useState)(!1),[am,an]=(0,f.useState)(!1),ao=async()=>{await bo(l,o,s,S,ax,aC,az,C,U,a?.name,al,k)},ap=async()=>{if(!j)return;if(!l.name||!s)return void C({type:"error",text:k("mcp.local.auth.missingDetails")});let a=bj(l,o,s,w,z);an(!0),C({type:"success",text:k("mcp.local.auth.starting",{server:a.name})});try{let b=await j(a);"needs_client_credentials"===b.status?C({type:"warning",text:b.error||k("mcp.local.auth.credentialsRequired")}):"error"===b.status&&C({type:"error",text:b.error||k("mcp.local.auth.failed")})}catch(a){C({type:"error",text:k("mcp.local.auth.failedWithError",{error:a instanceof Error?a.message:k("mcp.server.unknownError")})})}finally{an(!1)}},{consoleOutput:aq,isConsoleVisible:au,consoleTitle:aw,setConsoleTitle:ax,toggleConsoleVisibility:ay,setIsConsoleVisible:az,appendToConsole:aA,clearConsole:aB,updateConsole:aC}=as(),aD=(0,f.useRef)(null);(0,f.useEffect)(()=>{if(!h)return;let b=i??0;aD.current!==b&&a?.name&&l.name===a.name&&(aD.current=b,W({define:!1,build:!1,run:!0}),M(!0),K(!0),ao())},[h,i,a,l.name]);let aE=a=>(b,c)=>{W({...V,[a]:c})},aF=a=>{switch(a){case"error":return"error.main";case"success":return"success.main";case"warning":return"warning.main";case"loading":return"info.main";default:return"text.primary"}},aG=l.launch;return(0,d.jsxs)(e.default,{component:"form",onSubmit:d=>{((a,b,c,d,e,f,g,h,i,j,k,l=bi)=>{if(a.preventDefault(),!b.name||"stdio"===b.transport&&!b.command)return g({type:"error",text:l("mcp.local.messages.required")});if("websocket"===b.transport&&!c)return g({type:"error",text:l("mcp.local.run.validWebsocket")});if(("sse"===b.transport||"streamable"===b.transport)&&!d)return g({type:"error",text:l("mcp.local.run.validServer")});let m=bj(b,c,d,e,f);j&&i?i(m):h(m),k&&k()})(d,l,o,s,w,z,C,b,c,a,g,k)},sx:{width:"100%"},children:[(0,d.jsxs)(p.Ay,{container:!0,spacing:2,children:[(0,d.jsx)(p.Ay,{item:!0,xs:12,md:au?8:12,children:(0,d.jsxs)(v.A,{spacing:3,children:[aG&&(0,d.jsxs)(t.A,{severity:"info",children:[(0,d.jsx)(n.A,{variant:"body2",children:k("mcp.registry.manualLaunch.description")}),(0,d.jsx)(n.A,{variant:"caption",component:"code",sx:{display:"block",mt:1,fontFamily:"monospace",wordBreak:"break-all"},children:[aG.command,...aG.args??[]].join(" ")})]}),(0,d.jsxs)(bp.A,{expanded:V.define,onChange:aE("define"),sx:{border:1,borderColor:l.name&&l.rootPath?h?"success.main":"divider":"error.main",bgcolor:l.name&&l.rootPath?h?"success.lighter":"background.paper":"error.lighter","&:before":{display:"none"},borderRadius:1,boxShadow:a=>+("dark"===a.palette.mode),mb:2,overflow:"hidden"},children:[(0,d.jsx)(bq.A,{expandIcon:(0,d.jsx)(bs.A,{}),"aria-controls":"define-server-content",id:"define-server-header",sx:{"& .MuiAccordionSummary-content":{alignItems:"center"},minHeight:56,px:2},children:(0,d.jsx)(n.A,{variant:"h6",sx:{color:aF(l.name&&l.rootPath?h?"success":"default":"error"),fontWeight:500},children:k("mcp.local.section.define")})}),(0,d.jsx)(br.A,{sx:{px:3,py:2},children:(0,d.jsx)(at,{name:l.name,setName:a=>m({...l,name:a}),rootPath:l.rootPath||"",setRootPath:a=>m({...l,rootPath:a}),onRootPathSelect:ae})})]}),(0,d.jsxs)(bp.A,{expanded:V.build,onChange:aE("build"),sx:{border:1,borderColor:D?.type==="error"?"error.main":L&&J?"success.main":L||J?"warning.main":H||F?"info.main":"divider",bgcolor:D?.type==="error"?"error.lighter":L&&J?"success.lighter":L||J?"warning.lighter":H||F?"info.lighter":"background.paper","&:before":{display:"none"},borderRadius:1,boxShadow:a=>+("dark"===a.palette.mode),mb:2,overflow:"hidden"},children:[(0,d.jsx)(bq.A,{expandIcon:(0,d.jsx)(bs.A,{}),"aria-controls":"build-content",id:"build-header",sx:{"& .MuiAccordionSummary-content":{alignItems:"center"},minHeight:56,px:2},children:(0,d.jsx)(n.A,{variant:"h6",sx:{color:aF(D?.type==="error"?"error":L&&J?"success":L||J?"warning":H||F?"loading":"default"),fontWeight:500},children:k("mcp.local.section.build")})}),(0,d.jsx)(br.A,{sx:{px:3,py:2},children:(0,d.jsx)(av,{installCommand:z,setinstallCommand:A,buildCommand:w,setBuildCommand:y,onInstall:ai,onBuild:aj,isInstalling:H,isBuilding:F,installCompleted:L,buildCompleted:J,buildMessage:D})})]}),(0,d.jsxs)(bp.A,{expanded:V.run,onChange:aE("run"),sx:{border:1,borderColor:B?.type!=="error"||R?T?"success.main":R?"info.main":"divider":"error.main",bgcolor:B?.type!=="error"||R?T?"success.lighter":R?"info.lighter":"background.paper":"error.lighter","&:before":{display:"none"},borderRadius:1,boxShadow:a=>+("dark"===a.palette.mode),mb:2,overflow:"hidden"},children:[(0,d.jsx)(bq.A,{expandIcon:(0,d.jsx)(bs.A,{}),"aria-controls":"run-content",id:"run-header",sx:{"& .MuiAccordionSummary-content":{alignItems:"center"},minHeight:56,px:2},children:(0,d.jsx)(n.A,{variant:"h6",sx:{color:aF(B?.type!=="error"||R?T?"success":R?"loading":"default":"error"),fontWeight:500},children:k("mcp.local.section.run")})}),(0,d.jsx)(br.A,{sx:{px:3,py:2},children:(0,d.jsxs)(v.A,{spacing:4,children:[(0,d.jsx)(a_,{command:"stdio"===l.transport?l.command:"",setCommand:a=>{"stdio"===l.transport&&m(b=>"stdio"===b.transport?{...b,command:a}:b)},transport:l.transport,setTransport:X,websocketUrl:o,setWebsocketUrl:r,serverUrl:s,setServerUrl:u,onRun:ao,isRunning:R,runCompleted:T,env:l.env,onEnvChange:_,headers:("sse"===l.transport||"streamable"===l.transport)&&l.headers||{},onHeadersChange:a=>m(b=>({...b,headers:a})),oauthClientId:l.oauthClientId||"",oauthClientSecret:l.oauthClientSecret||"",onOAuthClientIdChange:a=>m(b=>({...b,oauthClientId:a})),onOAuthClientSecretChange:a=>m(b=>({...b,oauthClientSecret:a})),serverName:l.name,consoleOutput:aq,message:B,setMessage:C,oauthCapable:ak,onSaveAndAuthenticate:j?ap:void 0,isAuthenticating:am}),(0,d.jsx)(e.default,{children:(0,d.jsx)(a1,{args:"stdio"===l.transport&&l.args||[],onArgChange:Y,onAddArg:Z,onRemoveArg:$,onFolderSelect:af,onParseReadme:ah,onParseClipboard:ag,isParsingReadme:N})}),(0,d.jsx)(e.default,{children:(0,d.jsx)(a2.A,{roots:l.roots||[],onChange:a=>m(b=>({...b,roots:a}))})}),(0,d.jsx)(e.default,{children:(0,d.jsx)(bc,{policy:l.sampling,onChange:a=>m(b=>({...b,sampling:a}))})}),(0,d.jsx)(e.default,{children:(0,d.jsx)(be,{policy:l.elicitation,onChange:a=>m(b=>({...b,elicitation:a}))})})]})})]})]})}),au&&(0,d.jsx)(p.Ay,{item:!0,xs:12,md:4,sx:{height:{xs:320,md:"auto"},minHeight:{xs:240,md:0}},children:(0,d.jsx)(ar,{output:aq,isVisible:!0,toggleVisibility:ay,title:aw})})]}),B&&(0,d.jsx)(e.default,{sx:{mt:2,mb:2},children:(0,d.jsx)(t.A,{severity:B.type,children:B.text})}),(0,d.jsx)(bB,{context:{config:{name:l.name,transport:l.transport,..."stdio"===l.transport?{command:l.command,args:l.args}:{},..."sse"===l.transport||"streamable"===l.transport?{serverUrl:s,headerNames:Object.keys(l.headers||{})}:{},rootPath:l.rootPath,envNames:Object.keys(l.env||{}),installCommand:z,buildCommand:w},error:[D?.text,B?.text].filter(Boolean).join("\n"),consoleOutput:aq},onApplyPatch:a=>{m(b=>{let c={...b.env||{}};for(let b of a.addEnvNames??[])b in c||(c[b]="");let d={...b,env:c,...a.rootPath?{rootPath:a.rootPath}:{}};if("stdio"===b.transport)return{...d,...a.command?{command:a.command}:{},...a.args?{args:a.args}:{}};if("sse"===b.transport||"streamable"===b.transport){let c={...b.headers||{}};for(let b of a.addHeaderNames??[])b in c||(c[b]="");return{...d,headers:c}}return d}),a.serverUrl&&u(a.serverUrl),void 0!==a.installCommand&&A(a.installCommand),void 0!==a.buildCommand&&y(a.buildCommand),C({type:"warning",text:k("mcp.troubleshoot.reviewApplied")})}}),(0,d.jsxs)(e.default,{sx:{display:"flex",flexWrap:"wrap",justifyContent:"flex-end",gap:1,mt:3},children:[(0,d.jsx)(x.A,{variant:"outlined",onClick:g,children:k("mcp.local.cancel")}),(0,d.jsx)(x.A,{type:"submit",variant:"contained",color:"primary",children:a?k("mcp.local.updateServer"):k("mcp.local.addServer")})]}),(0,d.jsx)(bf.A,{open:aa,title:k("mcp.local.chooseServerFolder"),initialPath:l.rootPath||void 0,onClose:()=>ab(!1),onSelect:a=>m({...l,rootPath:a})}),(0,d.jsx)(bf.A,{open:null!==ac,title:k("mcp.local.chooseFolderOrFile"),selectFiles:!0,onClose:()=>ad(null),onSelect:a=>{null!==ac&&Y(ac,a)}})]})};function bD(a){return"manual-launch"!==a.kind}let bE={npm:"npx",pypi:"uvx",oci:"docker",nuget:"dnx"},bF={npm:"npm",pypi:"PyPI",oci:"Docker",nuget:"NuGet",mcpb:"MCPB",cargo:"Cargo"};function bG(a){return""!==a&&/^[A-Za-z0-9_@%+=:,./-]+$/.test(a)?a:`"${a.replace(/(["$`\\])/g,"\\$1")}"`}function bH(a){var b;let c=[],d=[];for(let e of a.packages??[]){let a=function(a){if(!a.identifier)return{supported:!1,reason:"no-identifier"};if(!bE[a.registryType]&&!a.runtimeHint)return{supported:!1,reason:"unknown-runner"};let b=a.transport?.type;return b&&"stdio"!==b?"streamable-http"===b||"sse"===b?{supported:!1,reason:"launch-and-connect"}:{supported:!1,reason:"unknown-transport"}:{supported:!0}}(e);a.supported?c.push({kind:"package",label:`${bF[b=e.registryType]||b}: ${e.identifier}`,pkg:e}):"launch-and-connect"===a.reason&&d.push(function(a){var b;let{command:c,args:d}=bR(a,{envFlags:"inline"}),e=a.transport?.type==="sse"?"sse":"streamable",f=a.transport?.url,g={kind:"manual-launch",label:`${bF[b=a.registryType]||b}: ${a.identifier} (manual start)`,pkg:a,transport:e,runLine:[c,...d].map(bG).join(" ")};if(!f)return{...g,urlError:"missing-url",urlErrorDetail:"no transport.url declared"};let h=function(a,b){let c,d=[],e=a.replace(/\{([^{}]+)\}/g,(a,c)=>{let e=b.args[c]??b.env[c];return void 0===e||""===e?(d.push(c),""):e});if(d.length>0)return{error:"unresolved-placeholder",detail:d.join(", ")};try{c=new URL(e)}catch{return{error:"invalid-url",detail:e}}return/^https?:$/.test(c.protocol)?!function(a){let b=a.toLowerCase().replace(/^\[/,"").replace(/\]$/,"");if("localhost"===b||"::1"===b||"0:0:0:0:0:0:0:1"===b)return!0;let c=/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/.exec(b);if(!c)return!1;let d=c.slice(1,5).map(Number);return!d.some(a=>a>255)&&127===d[0]}(c.hostname)?{error:"non-loopback",detail:c.hostname}:{url:c.toString()}:{error:"invalid-url",detail:e}}(f,{env:function(a){let b={};for(let c of a??[]){if(!c.name)continue;let a=c.value??c.default;void 0!==a&&""!==a&&(b[c.name]=a)}return b}(a.environmentVariables),args:{...bO(a.runtimeArguments),...bO(a.packageArguments)}});return"url"in h?{...g,resolvedUrl:h.url}:{...g,urlError:h.error,urlErrorDetail:h.detail}}(e))}for(let b of a.remotes??[])b.url&&("streamable-http"===b.type||"sse"===b.type)&&c.push({kind:"remote",label:`Remote (${"sse"===b.type?"SSE":"Streamable HTTP"}): ${b.url}`,remote:b});return[...c,...d]}let bI=new Set(["mcp","server","mcp-server","mcpserver"]);function bJ(a){let b=a.indexOf("/"),c=b>=0?a.slice(0,b):"",d=b>=0?a.slice(b+1):a;if(!bI.has(d.toLowerCase())||!c)return d;let e=c.split(".").reverse().find(a=>a&&!bI.has(a.toLowerCase()))||"";return e?`${e}-${d}`:d}function bK(a){return a.title?a.title:bJ(a.name)}function bL(a,b){let c=a.icons;if(!c||0===c.length)return null;let d=c.filter(a=>{if(!a?.src)return!1;try{return/^https?:$/.test(new URL(a.src).protocol)}catch{return!1}});return 0===d.length?null:((b?d.find(a=>a.theme===b):void 0)??d[0]).src}function bM(a){let b=a.value??a.default;return"named"===a.type?a.name?void 0!==b&&""!==b?[a.name,b]:a.isRequired&&a.valueHint?[a.name,`<${a.valueHint}>`]:a.isRequired?[a.name]:[]:[]:void 0!==b&&""!==b?[b]:a.isRequired?[`<${a.valueHint||"value"}>`]:[]}function bN(a){return(a??[]).flatMap(bM)}function bO(a){let b={};for(let c of a??[]){if("named"!==c.type||!c.name)continue;let a=c.value??c.default;void 0!==a&&""!==a&&(b[c.name]=a)}return b}function bP(a){let b=(a.icons??[]).flatMap(a=>{if(!a?.src)return[];try{if(!/^https?:$/.test(new URL(a.src).protocol))return[]}catch{return[]}return[{src:a.src,...a.sizes?{sizes:a.sizes}:{},...a.mimeType?{mimeType:a.mimeType}:{},..."light"===a.theme||"dark"===a.theme?{theme:a.theme}:{}}]});return{name:bJ(a.name).replace(/[^a-zA-Z0-9_-]+/g,"-").replace(/^-+|-+$/g,"")||"mcp-server",disabled:!1,autoApprove:[],env:{},_buildCommand:"",_installCommand:"",...b.length>0?{icons:b}:{}}}function bQ(a){return a.version?`${a.identifier}@${a.version}`:a.identifier}function bR(a,b={}){let c,d=a.runtimeHint||bE[a.registryType],e=bN(a.packageArguments),f=bN(a.runtimeArguments),g=function(a){let b={};for(let c of a??[]){if(!c.name)continue;let a=c.value??c.default??"";b[c.name]=c.isSecret?{value:a,metadata:{isSecret:!0}}:a}return b}(a.environmentVariables);switch(a.registryType){case"npm":c=[...f,"-y",bQ(a),...e];break;case"pypi":c=[...f,a.version?`${a.identifier}==${a.version}`:a.identifier,...e];break;case"oci":{let d,h="inline"===b.envFlags?function(a){let b=[];for(let c of a??[]){if(!c.name)continue;let a=c.value??c.default,d=!c.isSecret&&void 0!==a&&""!==a;b.push("-e",`${c.name}=${d?a:`<${c.name}>`}`)}return b}(a.environmentVariables):Object.keys(g).flatMap(a=>["-e",a]);c=[..."run"===f[0]?[]:["run","-i","--rm"],...f,...h,!((d=a.identifier.split("/").pop()||a.identifier).includes(":")||d.includes("@"))&&a.version?`${a.identifier}:${a.version}`:a.identifier,...e];break}case"nuget":c=[...f,bQ(a),"--yes",...e];break;default:c=[...f,bQ(a),...e]}return{command:d,args:c,env:g}}function bS(a,b){return"remote"===a.kind?(a.remote.headers??[]).filter(a=>a.isRequired&&!(a.value??a.default)&&!b?.[a.name]).map(a=>a.name):(a.pkg.environmentVariables??[]).filter(a=>a.isRequired&&!(a.value??a.default)&&!b?.[a.name]).map(a=>a.name)}var bT=c(20158),bU=c(30960),bV=c(30630),bW=c(47786),bX=c(54269),bY=c(38592),bZ=c(4146),b$=c(39266),b_=c(73152);let b0=(0,a8.A)((0,d.jsx)("path",{d:"M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96"}),"Cloud"),b1=(0,a8.A)((0,d.jsx)("path",{d:"M8 5.19V5l11 7-2.55 1.63zm12 14.54-5.11-5.11L8 7.73 4.27 4 3 5.27l5 5V19l5.33-3.4 5.4 5.4z"}),"PlayDisabled"),b2=({option:a,disabled:b,onConfigureAsRemote:c})=>{let{t:f}=(0,q.s9)(),g=async()=>{try{await navigator.clipboard?.writeText(a.runLine)}catch{}};return(0,d.jsxs)(e.default,{sx:{px:2,py:1.5,borderTop:"1px solid",borderColor:"divider"},children:[(0,d.jsxs)(e.default,{sx:{display:"flex",alignItems:"center",gap:1,mb:.5},children:[(0,d.jsx)(b1,{fontSize:"small",color:"disabled"}),(0,d.jsx)(n.A,{variant:"body2",sx:{wordBreak:"break-all",flexGrow:1},children:a.label})]}),(0,d.jsx)(n.A,{variant:"caption",color:"text.secondary",component:"div",sx:{mb:1},children:f("mcp.registry.manualLaunch.description")}),(0,d.jsxs)(e.default,{sx:{display:"flex",alignItems:"flex-start",gap:1,p:1,borderRadius:1,bgcolor:"action.hover"},children:[(0,d.jsx)(n.A,{variant:"caption",component:"code",sx:{flexGrow:1,fontFamily:"monospace",wordBreak:"break-all"},children:a.runLine}),(0,d.jsx)(aA.A,{title:f("mcp.registry.manualLaunch.copyCommand"),children:(0,d.jsx)(z.A,{size:"small",onClick:g,"aria-label":f("mcp.registry.manualLaunch.copyCommand"),children:(0,d.jsx)(aP.A,{fontSize:"inherit"})})})]}),a.resolvedUrl?(0,d.jsx)(n.A,{variant:"caption",color:"text.secondary",component:"div",sx:{mt:1,wordBreak:"break-all"},children:a.resolvedUrl}):null,c?(0,d.jsx)(x.A,{size:"small",sx:{mt:1},disabled:b,onClick:()=>{b||c(a)},children:f("mcp.registry.manualLaunch.configureAsRemote")}):null]})},b3=({options:a,envDefaults:b,disabled:c,onSelect:f,onConfigureAsRemote:g})=>{let{t:h,formatList:i}=(0,q.s9)(),j=a.filter(a=>"manual-launch"!==a.kind),k=a.filter(a=>"manual-launch"===a.kind);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(bT.A,{children:j.map((a,e)=>{let g=bS(a,b);return(0,d.jsxs)(bU.A,{disabled:c,"aria-disabled":c||void 0,onClick:()=>{c||f(a)},children:[(0,d.jsx)(bV.A,{children:"package"===a.kind?(0,d.jsx)(b_.A,{}):(0,d.jsx)(b0,{})}),(0,d.jsx)(bW.A,{primary:a.label,secondary:g.length>0?h("mcp.marketplace.requires",{values:i(g)}):"package"===a.kind?h("mcp.marketplace.runsLocal"):h("mcp.marketplace.hostedRemote"),primaryTypographyProps:{sx:{wordBreak:"break-all"}}})]},e)})}),k.length>0?(0,d.jsxs)(e.default,{children:[(0,d.jsx)(t.A,{severity:"info",sx:{mb:1},children:h("mcp.registry.manualLaunch.title")}),k.map((a,b)=>(0,d.jsx)(b2,{option:a,disabled:c,onConfigureAsRemote:g},`manual-${b}`))]}):null]})},b4=({open:a,title:b,helpText:c,onClose:e,...f})=>{let{t:g}=(0,q.s9)();return(0,d.jsxs)(bX.A,{open:a,onClose:e,maxWidth:"sm",fullWidth:!0,children:[(0,d.jsx)(bY.A,{children:b}),(0,d.jsxs)(bZ.A,{children:[c?(0,d.jsx)(n.A,{variant:"body2",color:"text.secondary",sx:{mb:1},children:c}):null,(0,d.jsx)(b3,{...f})]}),(0,d.jsx)(b$.A,{children:(0,d.jsx)(x.A,{onClick:e,children:g("mcp.local.cancel")})})]})},b5=function({requireTrust:a,onHandoff:b}){let[c,d]=(0,f.useState)(null),[e,g]=(0,f.useState)(!1),h=(0,f.useCallback)((a,b)=>{let c=bH(a);return g(!1),d({server:a,options:c,...b?{envDefaults:b}:{}}),c},[]),i=(0,f.useCallback)(()=>{d(null),g(!1)},[]),j=(0,f.useCallback)((a,b,c)=>{let d,e,f;var g=(d="package"===b.kind?function(a,b){let{command:c,args:d,env:e}=bR(b);return{...bP(a),transport:"stdio",command:c,args:d,env:e,rootPath:"."}}(a,b.pkg):"manual-launch"===b.kind?function(a,b){let{command:c,args:d,env:e}=bR(b.pkg),f={command:c,...d.length>0?{args:d}:{},...Object.keys(e).length>0?{env:e}:{}};return{...bP(a),transport:b.transport,serverUrl:b.resolvedUrl??"",headers:{},env:e,launch:f,rootPath:"."}}(a,b):function(a,b){let c={};for(let a of b.headers??[])a.name&&(c[a.name]=a.value??a.default??"");let d=bP(a);return{...d,transport:"sse"===b.type?"sse":"streamable",serverUrl:b.url,headers:c,rootPath:`mcp-servers/${d.name}`}}(a,b.remote),e="remote"===b.kind?a.version:b.pkg.version??a.version,f={type:"registry",registryName:a.name,...e?{version:e}:{}},{...d,source:f}),h=c;if(!h||0===Object.keys(h).length)return g;let i={...g.env??{}};for(let[a,b]of Object.entries(h)){let c=i[a];c&&"object"==typeof c&&c.metadata?.isSecret?i[a]={value:b,metadata:{isSecret:!0}}:i[a]=b}return{...g,env:i}},[]),k=(0,f.useCallback)((a,c,d)=>{let e=j(a,c,d),f=bS(c,d);return i(),b?.({to:"configure",config:e,autoTestRun:!0}),f},[j,i,b]),l=(0,f.useCallback)((a,c,d)=>{let e=j(a,c,d);i(),b?.({to:"configure",config:e})},[j,i,b]),m=(0,f.useCallback)((a,b)=>bS(a,b),[]);return{selection:c,options:c?.options??[],trustConfirmed:e,setTrustConfirmed:g,installBlocked:a&&!e,open:h,close:i,install:k,configureAsRemote:l,missingFor:m}};var b6=c(4784),b7=c(74111),b8=c(86947),b9=c(56686),ca=c(98908);let cb=(0,a8.A)((0,d.jsx)("path",{d:"M12 1.27a11 11 0 00-3.48 21.46c.55.09.73-.28.73-.55v-1.84c-3.03.64-3.67-1.46-3.67-1.46-.55-1.29-1.28-1.65-1.28-1.65-.92-.65.1-.65.1-.65 1.1 0 1.73 1.1 1.73 1.1.92 1.65 2.57 1.2 3.21.92a2 2 0 01.64-1.47c-2.47-.27-5.04-1.19-5.04-5.5 0-1.1.46-2.1 1.2-2.84a3.76 3.76 0 010-2.93s.91-.28 3.11 1.1c1.8-.49 3.7-.49 5.5 0 2.1-1.38 3.02-1.1 3.02-1.1a3.76 3.76 0 010 2.93c.83.74 1.2 1.74 1.2 2.94 0 4.21-2.57 5.13-5.04 5.4.45.37.82.92.82 2.02v3.03c0 .27.1.64.73.55A11 11 0 0012 1.27"}),"GitHub");var cc=c(21190),cd=c(43955),ce=c(33335),cf=c(35936),cg=c(68872);let ch=({onClose:a,onHandoff:b})=>{let c=(0,aq.A)(),{t:g,formatNumber:h,formatList:i}=(0,q.s9)(),[j,k]=(0,f.useState)(""),[l,m]=(0,f.useState)(""),[o,r]=(0,f.useState)([]),[s,u]=(0,f.useState)(null),[A,B]=(0,f.useState)(!1),[C,D]=(0,f.useState)(!1),[E,F]=(0,f.useState)(null),G=b5({requireTrust:!0,onHandoff:b}),H=G.selection?.server??null,I=G.trustConfirmed,J=(0,f.useRef)(0),K=(0,f.useCallback)(a=>{G.open(a)},[G]),L=(0,f.useCallback)(()=>{G.close()},[G]),M=(0,f.useCallback)(async(a,b)=>{let c=++J.current,d=!b;d?B(!0):D(!0),F(null);try{let e=new URLSearchParams({limit:String(30)});a&&e.set("search",a),b&&e.set("cursor",b);let f=await fetch(`/api/mcp-registry?${e.toString()}`),g=await f.json();if(c!==J.current)return;if(!f.ok||!1===g.success)throw Error(g.error||String(f.status));let h=g.servers??[];r(a=>d?h:[...a,...h]),u(h.length>0?g.metadata?.nextCursor??null:null)}catch(a){if(c!==J.current)return;console.error("Error fetching from MCP Registry:",a),F({type:"error",text:g("mcp.marketplace.loadError",{error:a instanceof Error?a.message:g("mcp.server.unknownError")})})}finally{c===J.current&&(B(!1),D(!1))}},[g]);(0,f.useEffect)(()=>{l&&M(l)},[l,M]);let N=()=>{k(""),m(""),J.current++,B(!1),D(!1),r([]),u(null),F(null)},O=a=>{let b=a.repository?.url;if(!b)return null;try{return"github.com"===new URL(b).hostname?b:null}catch{return null}},P=G.options;return(0,d.jsxs)(e.default,{sx:{width:"100%"},children:[(0,d.jsxs)(v.A,{spacing:3,children:[(0,d.jsx)(n.A,{variant:"h6",gutterBottom:!0,children:g("mcp.marketplace.title")}),(0,d.jsx)(n.A,{variant:"body2",color:"text.secondary",children:(0,d.jsx)(aJ.A,{message:"mcp.marketplace.help",values:{registryLink:(0,d.jsx)(aO.A,{href:"https://registry.modelcontextprotocol.io",target:"_blank",rel:"noopener noreferrer",children:g("mcp.marketplace.registry")})}})}),(0,d.jsx)(w.A,{fullWidth:!0,size:"small",value:j,onChange:a=>k(a.target.value),onKeyDown:a=>{if("Enter"===a.key){a.preventDefault();let b=j.trim();b?b===l?M(b):m(b):N()}},placeholder:g("mcp.marketplace.search"),variant:"outlined",InputProps:{startAdornment:(0,d.jsx)(y.A,{position:"start",children:(0,d.jsx)(ca.A,{})}),endAdornment:j?(0,d.jsx)(y.A,{position:"end",children:(0,d.jsx)(z.A,{size:"small",onClick:N,"aria-label":g("mcp.marketplace.clearSearch"),children:(0,d.jsx)(cd.A,{fontSize:"small"})})}):void 0}}),E&&(0,d.jsx)(t.A,{severity:E.type,onClose:()=>F(null),children:E.text}),A?(0,d.jsx)(e.default,{sx:{display:"flex",justifyContent:"center",my:4},children:(0,d.jsx)(au.default,{})}):(0,d.jsxs)(d.Fragment,{children:[0===o.length&&!E&&(0,d.jsx)(n.A,{variant:"body1",color:"text.secondary",sx:{textAlign:"center",my:4},children:l?(0,d.jsx)(d.Fragment,{children:g("mcp.marketplace.noResults",{search:l})}):(0,d.jsx)(d.Fragment,{children:g("mcp.marketplace.startSearch")})}),(0,d.jsx)(p.Ay,{container:!0,spacing:2,children:o.map(a=>{let b,f=a.server,i=bH(f).some(bD),j="active"===("string"==typeof(b=a?._meta?.["io.modelcontextprotocol.registry/official"]?.status)&&b.length>0?b:"unverified");return(0,d.jsx)(p.Ay,{item:!0,xs:12,sm:6,md:4,children:(0,d.jsx)(b6.A,{sx:{height:"100%",display:"flex",flexDirection:"column",transition:"transform 0.2s, box-shadow 0.2s","&:hover":{transform:"translateY(-4px)",boxShadow:6}},children:(0,d.jsxs)(b7.A,{sx:{flexGrow:1,display:"flex",flexDirection:"column",alignItems:"stretch"},onClick:()=>{K(f)},children:[(0,d.jsxs)(e.default,{sx:{p:2,display:"flex",alignItems:"center",borderBottom:"1px solid",borderColor:"divider"},children:[(0,d.jsx)(b8.A,{src:bL(f,c.palette.mode)??void 0,sx:{bgcolor:c.palette.primary.main,color:"#fff",mr:2,boxShadow:1},children:bK(f).charAt(0).toUpperCase()}),(0,d.jsxs)(e.default,{sx:{flexGrow:1,minWidth:0},children:[(0,d.jsx)(n.A,{variant:"subtitle1",component:"div",noWrap:!0,title:bK(f),children:bK(f)}),(0,d.jsx)(n.A,{variant:"caption",color:"text.secondary",noWrap:!0,component:"div",title:f.name,children:f.name})]})]}),(0,d.jsxs)(b9.A,{sx:{flexGrow:1,pt:2,width:"100%"},children:[(0,d.jsx)(n.A,{variant:"body2",color:"text.secondary",sx:{mb:2,display:"-webkit-box",WebkitLineClamp:3,WebkitBoxOrient:"vertical",overflow:"hidden"},children:f.description||g("mcp.spotlight.noDescription")}),(0,d.jsxs)(e.default,{sx:{display:"flex",flexWrap:"wrap",gap:.5,alignItems:"center"},children:["number"==typeof a.quality?.stars&&(0,d.jsx)(ax.A,{size:"small",variant:"outlined",icon:(0,d.jsx)(cf.A,{}),label:h(a.quality.stars,{notation:"compact",maximumFractionDigits:1}),title:g("mcp.marketplace.stars",{count:h(a.quality.stars)})}),"number"==typeof a.quality?.weeklyDownloads&&(0,d.jsx)(ax.A,{size:"small",variant:"outlined",icon:(0,d.jsx)(cg.A,{}),label:g("mcp.marketplace.weeklyCompact",{count:h(a.quality.weeklyDownloads,{notation:"compact",maximumFractionDigits:1})}),title:g("mcp.marketplace.weeklyDownloads",{count:h(a.quality.weeklyDownloads)})}),(a=>{let b=[],c=new Set;for(let f of a.packages??[]){var e;let a=bF[e=f.registryType]||e;c.has(a)||(c.add(a),b.push((0,d.jsx)(ax.A,{size:"small",icon:(0,d.jsx)(b_.A,{}),label:a},`pkg-${a}`)))}return(a.remotes??[]).length>0&&b.push((0,d.jsx)(ax.A,{size:"small",icon:(0,d.jsx)(b0,{}),label:g("mcp.marketplace.remote")},"remote")),b})(f),f.version&&(0,d.jsx)(ax.A,{size:"small",variant:"outlined",label:`v${f.version}`}),!i&&(0,d.jsx)(ax.A,{size:"small",color:"warning",variant:"outlined",label:g("mcp.marketplace.manualSetup")}),i&&!j&&(0,d.jsx)(ax.A,{size:"small",color:"warning",variant:"outlined",icon:(0,d.jsx)(ce.A,{}),label:g("mcp.marketplace.unverified"),title:g("mcp.marketplace.unverifiedHelp")})]})]})]})})},f.name)})}),s&&o.length>0&&(0,d.jsx)(e.default,{sx:{display:"flex",justifyContent:"center"},children:(0,d.jsx)(x.A,{variant:"outlined",onClick:()=>M(l,s),disabled:C,startIcon:C?(0,d.jsx)(au.default,{size:20,color:"inherit"}):void 0,children:C?g("mcp.marketplace.loading"):g("mcp.marketplace.loadMore")})})]}),(0,d.jsx)(e.default,{sx:{display:"flex",justifyContent:"flex-end",gap:1},children:(0,d.jsx)(x.A,{variant:"outlined",onClick:a,children:g("mcp.local.cancel")})})]}),(0,d.jsx)(bX.A,{open:null!==H,onClose:L,maxWidth:"sm",fullWidth:!0,children:H&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(bY.A,{component:"div",children:(0,d.jsxs)(e.default,{sx:{display:"flex",alignItems:"center",gap:1.5,minWidth:0},children:[(0,d.jsx)(b8.A,{src:bL(H,c.palette.mode)??void 0,sx:{bgcolor:c.palette.primary.main,color:"#fff",width:40,height:40},children:bK(H).charAt(0).toUpperCase()}),(0,d.jsxs)(e.default,{sx:{minWidth:0},children:[(0,d.jsx)(n.A,{variant:"h6",noWrap:!0,title:bK(H),children:bK(H)}),(0,d.jsx)(n.A,{variant:"caption",color:"text.secondary",noWrap:!0,component:"div",title:H.name,children:H.name})]})]})}),(0,d.jsxs)(bZ.A,{children:[(H.repository?.url||H.websiteUrl)&&(0,d.jsxs)(e.default,{sx:{display:"flex",gap:1,mb:2,flexWrap:"wrap"},children:[H.repository?.url&&(0,d.jsx)(x.A,{size:"small",startIcon:(0,d.jsx)(cb,{}),component:"a",href:H.repository.url,target:"_blank",rel:"noopener noreferrer",children:g("mcp.marketplace.repository")}),H.websiteUrl&&(0,d.jsx)(x.A,{size:"small",startIcon:(0,d.jsx)(cc.A,{}),component:"a",href:H.websiteUrl,target:"_blank",rel:"noopener noreferrer",children:g("mcp.marketplace.website")})]}),(0,d.jsx)(n.A,{variant:"body2",color:"text.secondary",sx:{mb:2},children:H.description||g("mcp.spotlight.noDescription")}),(0,d.jsx)(t.A,{severity:"warning",icon:(0,d.jsx)(ce.A,{}),sx:{mb:1},children:g("mcp.marketplace.securityWarning")}),(0,d.jsx)(ay.A,{sx:{mb:1},control:(0,d.jsx)(az.A,{checked:I,onChange:a=>G.setTrustConfirmed(a.target.checked)}),label:g("mcp.marketplace.trust")}),P.length>0?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(n.A,{variant:"subtitle2",gutterBottom:!0,children:g("mcp.marketplace.chooseInstall")}),(0,d.jsx)(b3,{options:P,disabled:G.installBlocked,onSelect:a=>{let b;F({type:(b=G.install(H,a)).length>0?"warning":"success",text:b.length>0?g("mcp.marketplace.preparedMissing",{values:i(b)}):g("mcp.marketplace.prepared")})},onConfigureAsRemote:a=>{G.configureAsRemote(H,a),F({type:"success",text:g("mcp.marketplace.prepared")})}})]}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(t.A,{severity:"info",children:[g("mcp.marketplace.noAutomatic"),O(H)&&b&&(0,d.jsxs)(d.Fragment,{children:[" ",g("mcp.marketplace.githubFallback")]})]}),O(H)&&b&&(0,d.jsx)(x.A,{variant:"contained",startIcon:(0,d.jsx)(cb,{}),disabled:!I,onClick:()=>{let a;(a=O(H))&&b&&(L(),b({to:"github",repoUrl:a}))},sx:{mt:2},children:g("mcp.marketplace.tryManual")})]})]}),(0,d.jsx)(b$.A,{children:(0,d.jsx)(x.A,{onClick:L,children:g("mcp.marketplace.close")})})]})})]})};var ci=c(77493);let cj=({onClose:a,onHandoff:b})=>{let c=(0,aq.A)(),{t:g,tp:h,formatDate:i,formatList:j}=(0,q.s9)(),[k,l]=(0,f.useState)(null),[m,o]=(0,f.useState)(!0),[r,s]=(0,f.useState)(!1),[u,w]=(0,f.useState)(null),y=b5({requireTrust:!1,onHandoff:b});(0,f.useEffect)(()=>{let a=!1;return(async()=>{try{let b=await fetch("/api/mcp-registry/spotlight"),c=await b.json();if(a)return;if(!b.ok||!1===c.success)throw Error(c.error||String(b.status));l(c.cache??null)}catch(b){a||w({type:"error",text:g("mcp.spotlight.loadError",{error:b instanceof Error?b.message:g("mcp.server.unknownError")})})}finally{a||o(!1)}})(),()=>{a=!0}},[g]);let z=async()=>{s(!0),w(null);try{let a=await fetch("/api/mcp-registry/spotlight",{method:"POST"}),b=await a.json();if(!a.ok||!1===b.success)throw Error(b.error||String(a.status));l(b.cache??null)}catch(a){w({type:"error",text:g("mcp.spotlight.refreshError",{error:a instanceof Error?a.message:g("mcp.server.unknownError")})})}finally{s(!1)}},A=(a,b)=>{let c=y.install(a.server,b,a.env);c.length>0&&w({type:"warning",text:g("mcp.marketplace.preparedMissing",{values:j(c)})})},B=(k?.entries??[]).filter(a=>a.result).map(a=>({server:a.result.server,env:a.env})),C=(k?.entries??[]).filter(a=>!a.result),D=y.selection?{server:y.selection.server,...y.selection.envDefaults?{env:y.selection.envDefaults}:{}}:null;return(0,d.jsxs)(e.default,{sx:{width:"100%"},children:[(0,d.jsxs)(v.A,{spacing:3,children:[(0,d.jsxs)(e.default,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[(0,d.jsx)(n.A,{variant:"h6",children:g("mcp.spotlight.title")}),(0,d.jsx)(x.A,{variant:"outlined",size:"small",onClick:z,disabled:r,startIcon:r?(0,d.jsx)(au.default,{size:16,color:"inherit"}):(0,d.jsx)(ci.A,{}),children:r?g("mcp.spotlight.refreshing"):g("mcp.spotlight.refresh")})]}),(0,d.jsxs)(n.A,{variant:"body2",color:"text.secondary",children:[g("mcp.spotlight.help"),k?.updatedAt&&(0,d.jsxs)(d.Fragment,{children:[" ",g("mcp.spotlight.updated",{date:i(k.updatedAt,{dateStyle:"medium",timeStyle:"short"})})]})]}),u&&(0,d.jsx)(t.A,{severity:u.type,onClose:()=>w(null),children:u.text}),m?(0,d.jsx)(e.default,{sx:{display:"flex",justifyContent:"center",my:4},children:(0,d.jsx)(au.default,{})}):0===B.length?(0,d.jsx)(n.A,{variant:"body1",color:"text.secondary",sx:{textAlign:"center",my:4},children:g("mcp.spotlight.empty")}):(0,d.jsx)(p.Ay,{container:!0,spacing:2,children:B.map(a=>{let{server:b}=a,f=bH(b),h=f.some(a=>"package"===a.kind),i=f.some(a=>"remote"===a.kind);return(0,d.jsx)(p.Ay,{item:!0,xs:12,sm:6,md:4,children:(0,d.jsx)(b6.A,{sx:{height:"100%",display:"flex",flexDirection:"column",transition:"transform 0.2s, box-shadow 0.2s","&:hover":{transform:"translateY(-4px)",boxShadow:6}},children:(0,d.jsxs)(b7.A,{sx:{flexGrow:1,display:"flex",flexDirection:"column",alignItems:"stretch"},onClick:()=>(a=>{let b=y.open(a.server,a.env);if(0===b.length){y.close(),w({type:"warning",text:g("mcp.spotlight.noInstall",{server:bK(a.server)})});return}1===b.length&&bD(b[0])&&A(a,b[0])})(a),children:[(0,d.jsxs)(e.default,{sx:{p:2,display:"flex",alignItems:"center",borderBottom:"1px solid",borderColor:"divider"},children:[(0,d.jsx)(b8.A,{sx:{bgcolor:c.palette.warning.main,color:"#fff",mr:2,boxShadow:1},children:(0,d.jsx)(cf.A,{fontSize:"small"})}),(0,d.jsxs)(e.default,{sx:{flexGrow:1,minWidth:0},children:[(0,d.jsx)(n.A,{variant:"subtitle1",component:"div",noWrap:!0,title:bK(b),children:bK(b)}),(0,d.jsx)(n.A,{variant:"caption",color:"text.secondary",noWrap:!0,component:"div",title:b.name,children:b.name})]})]}),(0,d.jsxs)(b9.A,{sx:{flexGrow:1,pt:2,width:"100%"},children:[(0,d.jsx)(n.A,{variant:"body2",color:"text.secondary",sx:{mb:2,display:"-webkit-box",WebkitLineClamp:3,WebkitBoxOrient:"vertical",overflow:"hidden"},children:b.description||g("mcp.spotlight.noDescription")}),(0,d.jsxs)(e.default,{sx:{display:"flex",flexWrap:"wrap",gap:.5,alignItems:"center"},children:[h&&(0,d.jsx)(ax.A,{size:"small",icon:(0,d.jsx)(b_.A,{}),label:g("mcp.spotlight.local")}),i&&(0,d.jsx)(ax.A,{size:"small",icon:(0,d.jsx)(b0,{}),label:g("mcp.spotlight.remote")}),b.version&&(0,d.jsx)(ax.A,{size:"small",variant:"outlined",label:`v${b.version}`})]})]})]})})},b.name)})}),C.length>0&&!m&&(0,d.jsxs)(t.A,{severity:"warning",children:[h("mcp.spotlight.failures",C.length),C.map(a=>(0,d.jsxs)(n.A,{variant:"caption",component:"div",sx:{wordBreak:"break-all"},children:[a.url," — ",a.error||g("mcp.server.unknownError")]},a.url))]}),(0,d.jsx)(e.default,{sx:{display:"flex",justifyContent:"flex-end",gap:1},children:(0,d.jsx)(x.A,{variant:"outlined",onClick:a,children:g("mcp.local.cancel")})})]}),D&&(0,d.jsx)(b4,{open:!0,title:bK(D.server),helpText:g("mcp.spotlight.chooseHelp"),options:y.options,...D.env?{envDefaults:D.env}:{},onClose:y.close,onSelect:a=>A(D,a),onConfigureAsRemote:a=>{y.configureAsRemote(D.server,a,D.env)}})]})},ck=({onAdd:a,onClose:b,onHandoff:c})=>{let g=(0,aq.A)(),{t:h,tp:i}=(0,q.s9)(),[j,k]=(0,f.useState)(!1),[l,m]=(0,f.useState)(!1),[r,s]=(0,f.useState)(!1),[u,w]=(0,f.useState)(null),[y,z]=(0,f.useState)([]),[A,B]=(0,f.useState)(""),[C,D]=(0,f.useState)(!1),{consoleOutput:E,isConsoleVisible:F,setIsConsoleVisible:G,updateConsole:H,clearConsole:I}=as();(0,f.useEffect)(()=>{(async()=>{k(!0);try{let a=await fetch("/api/cwd"),b=await a.json();if(b.success){B(b.mcpServersDir);let a=`${b.mcpServersDir}/servers`,c=await fetch("/api/git",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"exists",savePath:a})}),d=await c.json();D(d.exists),d.exists?await K(a):w({type:"warning",text:h("mcp.reference.repoMissing")})}}catch(a){console.error("Error initializing Reference Servers tab:",a),w({type:"error",text:h("mcp.reference.initializeError",{error:a instanceof Error?a.message:h("mcp.server.unknownError")})})}finally{k(!1)}})()},[h]);let J=async()=>{m(!0),I(),G(!0),H(`${h("mcp.reference.refreshStart")}
56
+ `),h({type:"error",text:l("mcp.local.messages.testError")})}finally{d(!1)}};var bp=c(37397),bq=c(218),br=c(19565),bs=c(52317),bt=c(46571);let bu=(0,a8.A)((0,d.jsx)("path",{fillRule:"evenodd",d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m4.54 13.85-.69.69c-.39.39-1.02.39-1.41 0l-3.05-3.05c-1.22.43-2.64.17-3.62-.81-1.11-1.11-1.3-2.79-.59-4.1l2.35 2.35 1.41-1.41-2.36-2.35c1.32-.71 2.99-.52 4.1.59.98.98 1.24 2.4.81 3.62l3.05 3.05c.39.39.39 1.03 0 1.42"}),"BuildCircleRounded");var bv=c(40596),bw=c(33439);async function bx(a,b){let c=await a.json().catch(()=>null);return Error(c?.error||b)}async function by(a,b,c){let d=await fetch("/api/mcp/assistant",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"research",...a}),signal:c});if(!d.ok)throw await bx(d,"Could not research MCP servers.");let e=null,f=null;if(await (0,bw.d)(d,async a=>{await b(a),"complete"===a.type&&(e=a.result),"error"===a.type&&(f=a.error)}),f)throw Error(f);if(!e)throw Error("Research ended without a recommendation.");return e}async function bz(a){let b=await fetch("/api/mcp/assistant",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"install",install:a})});if(!b.ok)throw await bx(b,"Could not install the MCP server.");return b.json()}async function bA(a){let b=await fetch("/api/mcp/assistant",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"troubleshoot",context:a})});if(!b.ok)throw await bx(b,"Could not diagnose this MCP setup.");return b.json()}function bB({context:a,onApplyPatch:b}){var c;let{t:g}=(0,q.s9)(),[h,i]=(0,f.useState)([]),[j,k]=(0,f.useState)(""),[l,m]=(0,f.useState)(!1),[p,r]=(0,f.useState)(null),[s,u]=(0,f.useState)(null),[w,y]=(0,f.useState)(!1),z=async()=>{if(j&&!l){m(!0),u(null),r(null),y(!1);try{r(await bA({...a,modelId:j}))}catch(a){u(a instanceof Error?a.message:String(a))}finally{m(!1)}}},A=p?.patch?[(c=p.patch).command?`command → ${c.command}`:null,c.args?`args → ${c.args.join(" ")}`:null,c.serverUrl?`URL → ${c.serverUrl}`:null,c.rootPath?`root → ${c.rootPath}`:null,c.installCommand?`install → ${c.installCommand}`:null,c.buildCommand?`build → ${c.buildCommand}`:null,c.addEnvNames?.length?`add empty env fields → ${c.addEnvNames.join(", ")}`:null,c.addHeaderNames?.length?`add empty header fields → ${c.addHeaderNames.join(", ")}`:null].filter(a=>!!a):[];return(0,d.jsx)(o.A,{variant:"outlined",sx:{mt:2,p:2,borderRadius:2.5},children:(0,d.jsxs)(v.A,{spacing:1.4,children:[(0,d.jsxs)(e.default,{sx:{display:"flex",alignItems:"flex-start",gap:1},children:[(0,d.jsx)(bu,{color:"primary"}),(0,d.jsxs)(e.default,{children:[(0,d.jsx)(n.A,{variant:"subtitle1",sx:{fontWeight:700},children:g("mcp.troubleshoot.title")}),(0,d.jsx)(n.A,{variant:"body2",color:"text.secondary",children:g("mcp.troubleshoot.description")})]})]}),(0,d.jsxs)(e.default,{sx:{display:"flex",gap:1,flexWrap:"wrap",alignItems:"center"},children:[(0,d.jsxs)(a4.A,{size:"small",sx:{minWidth:220},children:[(0,d.jsx)(a5.A,{id:"mcp-troubleshoot-model-label",children:g("mcp.ai.model")}),(0,d.jsx)(a6.A,{labelId:"mcp-troubleshoot-model-label",label:g("mcp.ai.model"),value:j,onChange:a=>k(a.target.value),disabled:l||0===h.length,children:h.map(a=>(0,d.jsx)(a7.A,{value:a.id,children:a.displayName||a.name},a.id))})]}),(0,d.jsx)(x.A,{variant:"outlined",startIcon:l?(0,d.jsx)(au.default,{size:17}):(0,d.jsx)(bt.A,{}),onClick:()=>void z(),disabled:l||!j,children:l?g("mcp.troubleshoot.diagnosing"):g("mcp.troubleshoot.askAi")}),(0,d.jsx)(ax.A,{size:"small",variant:"outlined",label:g("mcp.troubleshoot.privacy")})]}),s?(0,d.jsx)(t.A,{severity:"error",children:s}):null,p?(0,d.jsxs)(v.A,{spacing:1.2,children:[(0,d.jsx)(t.A,{severity:"info",children:p.diagnosis}),p.steps.length?(0,d.jsx)(e.default,{component:"ol",sx:{my:0,pl:2.7},children:p.steps.map(a=>(0,d.jsx)(n.A,{component:"li",variant:"body2",sx:{mb:.4},children:a},a))}):null,p.authHelp?(0,d.jsx)(t.A,{severity:"warning",children:p.authHelp}):null,p.researchedUrls?.length?(0,d.jsx)(e.default,{sx:{display:"flex",gap:1,flexWrap:"wrap"},children:p.researchedUrls.map(a=>(0,d.jsxs)(aO.A,{href:a,target:"_blank",rel:"noreferrer",sx:{display:"inline-flex",alignItems:"center",gap:.4,fontSize:12},children:[g("mcp.troubleshoot.researchedSource")," ",(0,d.jsx)(bv.A,{fontSize:"inherit"})]},a))}):null,p.patch&&A.length?(0,d.jsxs)(o.A,{variant:"outlined",sx:{p:1.4,bgcolor:"action.hover"},children:[(0,d.jsx)(n.A,{variant:"subtitle2",children:g("mcp.troubleshoot.proposedChanges")}),(0,d.jsx)(e.default,{component:"ul",sx:{my:.8,pl:2.4},children:A.map(a=>(0,d.jsx)(n.A,{component:"li",variant:"body2",sx:{fontFamily:"monospace"},children:a},a))}),(0,d.jsx)(x.A,{size:"small",variant:"contained",disabled:w,onClick:()=>{b(p.patch),y(!0)},children:w?g("mcp.troubleshoot.applied"):g("mcp.troubleshoot.apply")})]}):null]}):null]})})}let bC=({initialConfig:a,onAdd:b,onUpdate:c,onClose:g,autoTestRun:h,handoffId:i,onSaveAndAuthenticate:j})=>{let{t:k}=(0,q.s9)(),{localConfig:l,setLocalConfig:m,websocketUrl:o,setWebsocketUrl:r,serverUrl:s,setServerUrl:u,buildCommand:w,setBuildCommand:y,installCommand:z,setInstallCommand:A,message:B,setMessage:C,buildMessage:D,setBuildMessage:E,isBuilding:F,setIsBuilding:G,isInstalling:H,setIsInstalling:I,buildCompleted:J,setBuildCompleted:K,installCompleted:L,setInstallCompleted:M,isParsingReadme:N,setIsParsingReadme:O,isParsingEnv:P,setIsParsingEnv:Q,isRunning:R,setIsRunning:S,runCompleted:T,setRunCompleted:U,expandedSections:V,setExpandedSections:W,handleTransportChange:X,handleArgChange:Y,addArgField:Z,removeArgField:$,handleEnvChange:_}=(({initialConfig:a,isOpen:b=!0})=>{let{t:c}=(0,q.s9)(),[d,e]=(0,f.useState)({define:!0,build:!0,run:!0}),[g,h]=(0,f.useState)({name:"",command:"",args:[],env:{},disabled:!1,autoApprove:[],rootPath:"",transport:"stdio",_buildCommand:"",_installCommand:""}),[i,j]=(0,f.useState)(""),[k,l]=(0,f.useState)(""),[m,n]=(0,f.useState)(""),[o,p]=(0,f.useState)(""),[r,s]=(0,f.useState)(null),[t,u]=(0,f.useState)(null),[v,w]=(0,f.useState)(!1),[x,y]=(0,f.useState)(!1),[z,A]=(0,f.useState)(!1),[B,C]=(0,f.useState)(!1),[D,E]=(0,f.useState)(!1),[F,G]=(0,f.useState)(!1),[H,I]=(0,f.useState)(""),[J,K]=(0,f.useState)(!1),[L,M]=(0,f.useState)(!1),[N,O]=(0,f.useState)(!1),[P,Q]=(0,f.useState)(()=>c("mcp.local.console.output"));return(0,f.useEffect)(()=>{if(b)if(a){let b=a.rootPath||"";h({...a,rootPath:b}),n(a._buildCommand||""),p(a._installCommand||""),"websocket"===a.transport?(j(a.websocketUrl||""),l("")):"sse"===a.transport||"streamable"===a.transport?(l(a.serverUrl||""),j("")):(j(""),l(""))}else h({name:"",command:"",args:[],env:{},disabled:!1,autoApprove:[],rootPath:"",transport:"stdio",_buildCommand:"",_installCommand:""}),n(""),p(""),j(""),s(null),u(null),w(!1),y(!1),A(!1),C(!1),E(!1),G(!1),I(""),K(!1),M(!1),O(!1),Q(c("mcp.local.console.output")),e({define:!0,build:!0,run:!0})},[b,a,c]),{localConfig:g,setLocalConfig:h,websocketUrl:i,setWebsocketUrl:j,serverUrl:k,setServerUrl:l,buildCommand:m,setBuildCommand:n,installCommand:o,setInstallCommand:p,message:r,setMessage:s,buildMessage:t,setBuildMessage:u,isBuilding:v,setIsBuilding:w,isInstalling:x,setIsInstalling:y,buildCompleted:z,setBuildCompleted:A,installCompleted:B,setInstallCompleted:C,isParsingReadme:D,setIsParsingReadme:E,isParsingEnv:F,setIsParsingEnv:G,consoleOutput:H,setConsoleOutput:I,isConsoleVisible:J,setIsConsoleVisible:K,isRunning:L,setIsRunning:M,runCompleted:N,setRunCompleted:O,consoleTitle:P,setConsoleTitle:Q,expandedSections:d,setExpandedSections:e,handleTransportChange:a=>{"websocket"===a?h(a=>({name:a.name,disabled:a.disabled,autoApprove:a.autoApprove,rootPath:a.rootPath,env:a.env,_buildCommand:a._buildCommand,_installCommand:a._installCommand,roots:a.roots,exposeAsMcpServer:a.exposeAsMcpServer,sampling:a.sampling,transport:"websocket",websocketUrl:i})):"sse"===a?h(a=>({name:a.name,disabled:a.disabled,autoApprove:a.autoApprove,rootPath:a.rootPath,env:a.env,_buildCommand:a._buildCommand,_installCommand:a._installCommand,roots:a.roots,exposeAsMcpServer:a.exposeAsMcpServer,sampling:a.sampling,transport:"sse",serverUrl:k,headers:a.headers||{}})):"streamable"===a?h(a=>({name:a.name,disabled:a.disabled,autoApprove:a.autoApprove,rootPath:a.rootPath,env:a.env,_buildCommand:a._buildCommand,_installCommand:a._installCommand,roots:a.roots,exposeAsMcpServer:a.exposeAsMcpServer,sampling:a.sampling,transport:"streamable",serverUrl:k,headers:a.headers||{}})):h(a=>({name:a.name,command:"stdio"===a.transport?a.command:"",args:"stdio"===a.transport?a.args:[],disabled:a.disabled,autoApprove:a.autoApprove,rootPath:a.rootPath,env:a.env,_buildCommand:a._buildCommand,_installCommand:a._installCommand,roots:a.roots,exposeAsMcpServer:a.exposeAsMcpServer,sampling:a.sampling,transport:"stdio"}))},handleArgChange:(a,b)=>{"stdio"===g.transport&&h(c=>"stdio"===c.transport&&c.args?{...c,args:c.args.map((c,d)=>d===a?b:c)}:c)},addArgField:()=>{"stdio"===g.transport&&h(a=>{if("stdio"===a.transport){let b=a.args||[];return{...a,args:[...b,""]}}return a})},removeArgField:a=>{"stdio"===g.transport&&h(b=>"stdio"===b.transport&&b.args?{...b,args:b.args.filter((b,c)=>c!==a)}:b)},handleEnvChange:a=>{h(b=>{let c={...b,env:a};return"stdio"===b.transport||"websocket"===b.transport?c:b})}}})({initialConfig:a,isOpen:!0});(0,f.useEffect)(()=>{a&&a.name&&a.rootPath&&"stdio"===a.transport&&(!a.command||""===a.command)&&(!a._buildCommand||""===a._buildCommand)&&(!a._installCommand||""===a._installCommand)&&(C({type:"warning",text:k("mcp.local.detectionFailed")}),W({define:!0,build:!0,run:!0}))},[a,W,C,k]);let[aa,ab]=(0,f.useState)(!1),[ac,ad]=(0,f.useState)(null),ae=async()=>{ab(!0)},af=async a=>{ad(a)},ag=async()=>{await bk(l,m,C,y,A,r,o,k)},ah=async()=>{await bl(l,m,C,O,y,A,r,o,k)},ai=async()=>{await bm(l,z,I,E,ax,az,aC,M,k)},aj=async()=>{await bn(l,w,G,E,ax,az,aC,K,k)},[ak,al]=(0,f.useState)(!1),[am,an]=(0,f.useState)(!1),ao=async()=>{await bo(l,o,s,S,ax,aC,az,C,U,a?.name,al,k)},ap=async()=>{if(!j)return;if(!l.name||!s)return void C({type:"error",text:k("mcp.local.auth.missingDetails")});let a=bj(l,o,s,w,z);an(!0),C({type:"success",text:k("mcp.local.auth.starting",{server:a.name})});try{let b=await j(a);"needs_client_credentials"===b.status?C({type:"warning",text:b.error||k("mcp.local.auth.credentialsRequired")}):"error"===b.status&&C({type:"error",text:b.error||k("mcp.local.auth.failed")})}catch(a){C({type:"error",text:k("mcp.local.auth.failedWithError",{error:a instanceof Error?a.message:k("mcp.server.unknownError")})})}finally{an(!1)}},{consoleOutput:aq,isConsoleVisible:au,consoleTitle:aw,setConsoleTitle:ax,toggleConsoleVisibility:ay,setIsConsoleVisible:az,appendToConsole:aA,clearConsole:aB,updateConsole:aC}=as(),aD=(0,f.useRef)(null);(0,f.useEffect)(()=>{if(!h)return;let b=i??0;aD.current!==b&&a?.name&&l.name===a.name&&(aD.current=b,W({define:!1,build:!1,run:!0}),M(!0),K(!0),ao())},[h,i,a,l.name]);let aE=a=>(b,c)=>{W({...V,[a]:c})},aF=a=>{switch(a){case"error":return"error.main";case"success":return"success.main";case"warning":return"warning.main";case"loading":return"info.main";default:return"text.primary"}},aG=l.launch;return(0,d.jsxs)(e.default,{component:"form",onSubmit:d=>{((a,b,c,d,e,f,g,h,i,j,k,l=bi)=>{if(a.preventDefault(),!b.name||"stdio"===b.transport&&!b.command)return g({type:"error",text:l("mcp.local.messages.required")});if("websocket"===b.transport&&!c)return g({type:"error",text:l("mcp.local.run.validWebsocket")});if(("sse"===b.transport||"streamable"===b.transport)&&!d)return g({type:"error",text:l("mcp.local.run.validServer")});let m=bj(b,c,d,e,f);j&&i?i(m):h(m),k&&k()})(d,l,o,s,w,z,C,b,c,a,g,k)},sx:{width:"100%"},children:[(0,d.jsxs)(p.Ay,{container:!0,spacing:2,children:[(0,d.jsx)(p.Ay,{item:!0,xs:12,md:au?8:12,children:(0,d.jsxs)(v.A,{spacing:3,children:[aG&&(0,d.jsxs)(t.A,{severity:"info",children:[(0,d.jsx)(n.A,{variant:"body2",children:k("mcp.registry.manualLaunch.description")}),(0,d.jsx)(n.A,{variant:"caption",component:"code",sx:{display:"block",mt:1,fontFamily:"monospace",wordBreak:"break-all"},children:[aG.command,...aG.args??[]].join(" ")})]}),(0,d.jsxs)(bp.A,{expanded:V.define,onChange:aE("define"),sx:{border:1,borderColor:l.name&&l.rootPath?h?"success.main":"divider":"error.main",bgcolor:l.name&&l.rootPath?h?"success.lighter":"background.paper":"error.lighter","&:before":{display:"none"},borderRadius:1,boxShadow:a=>+("dark"===a.palette.mode),mb:2,overflow:"hidden"},children:[(0,d.jsx)(bq.A,{expandIcon:(0,d.jsx)(bs.A,{}),"aria-controls":"define-server-content",id:"define-server-header",sx:{"& .MuiAccordionSummary-content":{alignItems:"center"},minHeight:56,px:2},children:(0,d.jsx)(n.A,{variant:"h6",sx:{color:aF(l.name&&l.rootPath?h?"success":"default":"error"),fontWeight:500},children:k("mcp.local.section.define")})}),(0,d.jsx)(br.A,{sx:{px:3,py:2},children:(0,d.jsx)(at,{name:l.name,setName:a=>m({...l,name:a}),rootPath:l.rootPath||"",setRootPath:a=>m({...l,rootPath:a}),onRootPathSelect:ae})})]}),(0,d.jsxs)(bp.A,{expanded:V.build,onChange:aE("build"),sx:{border:1,borderColor:D?.type==="error"?"error.main":L&&J?"success.main":L||J?"warning.main":H||F?"info.main":"divider",bgcolor:D?.type==="error"?"error.lighter":L&&J?"success.lighter":L||J?"warning.lighter":H||F?"info.lighter":"background.paper","&:before":{display:"none"},borderRadius:1,boxShadow:a=>+("dark"===a.palette.mode),mb:2,overflow:"hidden"},children:[(0,d.jsx)(bq.A,{expandIcon:(0,d.jsx)(bs.A,{}),"aria-controls":"build-content",id:"build-header",sx:{"& .MuiAccordionSummary-content":{alignItems:"center"},minHeight:56,px:2},children:(0,d.jsx)(n.A,{variant:"h6",sx:{color:aF(D?.type==="error"?"error":L&&J?"success":L||J?"warning":H||F?"loading":"default"),fontWeight:500},children:k("mcp.local.section.build")})}),(0,d.jsx)(br.A,{sx:{px:3,py:2},children:(0,d.jsx)(av,{installCommand:z,setinstallCommand:A,buildCommand:w,setBuildCommand:y,onInstall:ai,onBuild:aj,isInstalling:H,isBuilding:F,installCompleted:L,buildCompleted:J,buildMessage:D})})]}),(0,d.jsxs)(bp.A,{expanded:V.run,onChange:aE("run"),sx:{border:1,borderColor:B?.type!=="error"||R?T?"success.main":R?"info.main":"divider":"error.main",bgcolor:B?.type!=="error"||R?T?"success.lighter":R?"info.lighter":"background.paper":"error.lighter","&:before":{display:"none"},borderRadius:1,boxShadow:a=>+("dark"===a.palette.mode),mb:2,overflow:"hidden"},children:[(0,d.jsx)(bq.A,{expandIcon:(0,d.jsx)(bs.A,{}),"aria-controls":"run-content",id:"run-header",sx:{"& .MuiAccordionSummary-content":{alignItems:"center"},minHeight:56,px:2},children:(0,d.jsx)(n.A,{variant:"h6",sx:{color:aF(B?.type!=="error"||R?T?"success":R?"loading":"default":"error"),fontWeight:500},children:k("mcp.local.section.run")})}),(0,d.jsx)(br.A,{sx:{px:3,py:2},children:(0,d.jsxs)(v.A,{spacing:4,children:[(0,d.jsx)(a_,{command:"stdio"===l.transport?l.command:"",setCommand:a=>{"stdio"===l.transport&&m(b=>"stdio"===b.transport?{...b,command:a}:b)},transport:l.transport,setTransport:X,websocketUrl:o,setWebsocketUrl:r,serverUrl:s,setServerUrl:u,onRun:ao,isRunning:R,runCompleted:T,env:l.env,onEnvChange:_,headers:("sse"===l.transport||"streamable"===l.transport)&&l.headers||{},onHeadersChange:a=>m(b=>({...b,headers:a})),oauthClientId:l.oauthClientId||"",oauthClientSecret:l.oauthClientSecret||"",onOAuthClientIdChange:a=>m(b=>({...b,oauthClientId:a})),onOAuthClientSecretChange:a=>m(b=>({...b,oauthClientSecret:a})),serverName:l.name,consoleOutput:aq,message:B,setMessage:C,oauthCapable:ak,onSaveAndAuthenticate:j?ap:void 0,isAuthenticating:am}),(0,d.jsx)(e.default,{children:(0,d.jsx)(a1,{args:"stdio"===l.transport&&l.args||[],onArgChange:Y,onAddArg:Z,onRemoveArg:$,onFolderSelect:af,onParseReadme:ah,onParseClipboard:ag,isParsingReadme:N})}),(0,d.jsx)(e.default,{children:(0,d.jsx)(a2.A,{roots:l.roots||[],onChange:a=>m(b=>({...b,roots:a}))})}),(0,d.jsx)(e.default,{children:(0,d.jsx)(bc,{policy:l.sampling,onChange:a=>m(b=>({...b,sampling:a}))})}),(0,d.jsx)(e.default,{children:(0,d.jsx)(be,{policy:l.elicitation,onChange:a=>m(b=>({...b,elicitation:a}))})})]})})]})]})}),au&&(0,d.jsx)(p.Ay,{item:!0,xs:12,md:4,sx:{height:{xs:320,md:"auto"},minHeight:{xs:240,md:0}},children:(0,d.jsx)(ar,{output:aq,isVisible:!0,toggleVisibility:ay,title:aw})})]}),B&&(0,d.jsx)(e.default,{sx:{mt:2,mb:2},children:(0,d.jsx)(t.A,{severity:B.type,children:B.text})}),(0,d.jsx)(bB,{context:{config:{name:l.name,transport:l.transport,..."stdio"===l.transport?{command:l.command,args:l.args}:{},..."sse"===l.transport||"streamable"===l.transport?{serverUrl:s,headerNames:Object.keys(l.headers||{})}:{},rootPath:l.rootPath,envNames:Object.keys(l.env||{}),installCommand:z,buildCommand:w},error:[D?.text,B?.text].filter(Boolean).join("\n"),consoleOutput:aq},onApplyPatch:a=>{m(b=>{let c={...b.env||{}};for(let b of a.addEnvNames??[])b in c||(c[b]="");let d={...b,env:c,...a.rootPath?{rootPath:a.rootPath}:{}};if("stdio"===b.transport)return{...d,...a.command?{command:a.command}:{},...a.args?{args:a.args}:{}};if("sse"===b.transport||"streamable"===b.transport){let c={...b.headers||{}};for(let b of a.addHeaderNames??[])b in c||(c[b]="");return{...d,headers:c}}return d}),a.serverUrl&&u(a.serverUrl),void 0!==a.installCommand&&A(a.installCommand),void 0!==a.buildCommand&&y(a.buildCommand),C({type:"warning",text:k("mcp.troubleshoot.reviewApplied")})}}),(0,d.jsxs)(e.default,{sx:{display:"flex",flexWrap:"wrap",justifyContent:"flex-end",gap:1,mt:3},children:[(0,d.jsx)(x.A,{variant:"outlined",onClick:g,children:k("mcp.local.cancel")}),(0,d.jsx)(x.A,{type:"submit",variant:"contained",color:"primary",children:a?k("mcp.local.updateServer"):k("mcp.local.addServer")})]}),(0,d.jsx)(bf.A,{open:aa,title:k("mcp.local.chooseServerFolder"),initialPath:l.rootPath||void 0,onClose:()=>ab(!1),onSelect:a=>m({...l,rootPath:a})}),(0,d.jsx)(bf.A,{open:null!==ac,title:k("mcp.local.chooseFolderOrFile"),selectFiles:!0,onClose:()=>ad(null),onSelect:a=>{null!==ac&&Y(ac,a)}})]})};function bD(a){return"manual-launch"!==a.kind}let bE={npm:"npx",pypi:"uvx",oci:"docker",nuget:"dnx"},bF={npm:"npm",pypi:"PyPI",oci:"Docker",nuget:"NuGet",mcpb:"MCPB",cargo:"Cargo"};function bG(a){return""!==a&&/^[A-Za-z0-9_@%+=:,./-]+$/.test(a)?a:`"${a.replace(/(["$`\\])/g,"\\$1")}"`}function bH(a){var b;let c=[],d=[];for(let e of a.packages??[]){let a=function(a){if(!a.identifier)return{supported:!1,reason:"no-identifier"};if(!bE[a.registryType]&&!a.runtimeHint)return{supported:!1,reason:"unknown-runner"};let b=a.transport?.type;return b&&"stdio"!==b?"streamable-http"===b||"sse"===b?{supported:!1,reason:"launch-and-connect"}:{supported:!1,reason:"unknown-transport"}:{supported:!0}}(e);a.supported?c.push({kind:"package",label:`${bF[b=e.registryType]||b}: ${e.identifier}`,pkg:e}):"launch-and-connect"===a.reason&&d.push(function(a){var b;let{command:c,args:d}=bR(a,{envFlags:"inline"}),e=a.transport?.type==="sse"?"sse":"streamable",f=a.transport?.url,g={kind:"manual-launch",label:`${bF[b=a.registryType]||b}: ${a.identifier} (manual start)`,pkg:a,transport:e,runLine:[c,...d].map(bG).join(" ")};if(!f)return{...g,urlError:"missing-url",urlErrorDetail:"no transport.url declared"};let h=function(a,b){let c,d=[],e=a.replace(/\{([^{}]+)\}/g,(a,c)=>{let e=b.args[c]??b.env[c];return void 0===e||""===e?(d.push(c),""):e});if(d.length>0)return{error:"unresolved-placeholder",detail:d.join(", ")};try{c=new URL(e)}catch{return{error:"invalid-url",detail:e}}return/^https?:$/.test(c.protocol)?!function(a){let b=a.toLowerCase().replace(/^\[/,"").replace(/\]$/,"");if("localhost"===b||"::1"===b||"0:0:0:0:0:0:0:1"===b)return!0;let c=/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/.exec(b);if(!c)return!1;let d=c.slice(1,5).map(Number);return!d.some(a=>a>255)&&127===d[0]}(c.hostname)?{error:"non-loopback",detail:c.hostname}:{url:c.toString()}:{error:"invalid-url",detail:e}}(f,{env:function(a){let b={};for(let c of a??[]){if(!c.name)continue;let a=c.value??c.default;void 0!==a&&""!==a&&(b[c.name]=a)}return b}(a.environmentVariables),args:{...bO(a.runtimeArguments),...bO(a.packageArguments)}});return"url"in h?{...g,resolvedUrl:h.url}:{...g,urlError:h.error,urlErrorDetail:h.detail}}(e))}for(let b of a.remotes??[])b.url&&("streamable-http"===b.type||"sse"===b.type)&&c.push({kind:"remote",label:`Remote (${"sse"===b.type?"SSE":"Streamable HTTP"}): ${b.url}`,remote:b});return[...c,...d]}let bI=new Set(["mcp","server","mcp-server","mcpserver"]);function bJ(a){let b=a.indexOf("/"),c=b>=0?a.slice(0,b):"",d=b>=0?a.slice(b+1):a;if(!bI.has(d.toLowerCase())||!c)return d;let e=c.split(".").reverse().find(a=>a&&!bI.has(a.toLowerCase()))||"";return e?`${e}-${d}`:d}function bK(a){return a.title?a.title:bJ(a.name)}function bL(a,b){let c=a.icons;if(!c||0===c.length)return null;let d=c.filter(a=>{if(!a?.src)return!1;try{return/^https?:$/.test(new URL(a.src).protocol)}catch{return!1}});return 0===d.length?null:((b?d.find(a=>a.theme===b):void 0)??d[0]).src}function bM(a){let b=a.value??a.default;return"named"===a.type?a.name?void 0!==b&&""!==b?[a.name,b]:a.isRequired&&a.valueHint?[a.name,`<${a.valueHint}>`]:a.isRequired?[a.name]:[]:[]:void 0!==b&&""!==b?[b]:a.isRequired?[`<${a.valueHint||"value"}>`]:[]}function bN(a){return(a??[]).flatMap(bM)}function bO(a){let b={};for(let c of a??[]){if("named"!==c.type||!c.name)continue;let a=c.value??c.default;void 0!==a&&""!==a&&(b[c.name]=a)}return b}function bP(a){let b=(a.icons??[]).flatMap(a=>{if(!a?.src)return[];try{if(!/^https?:$/.test(new URL(a.src).protocol))return[]}catch{return[]}return[{src:a.src,...a.sizes?{sizes:a.sizes}:{},...a.mimeType?{mimeType:a.mimeType}:{},..."light"===a.theme||"dark"===a.theme?{theme:a.theme}:{}}]});return{name:bJ(a.name).replace(/[^a-zA-Z0-9_-]+/g,"-").replace(/^-+|-+$/g,"")||"mcp-server",disabled:!1,autoApprove:[],env:{},_buildCommand:"",_installCommand:"",...b.length>0?{icons:b}:{}}}function bQ(a){return a.version?`${a.identifier}@${a.version}`:a.identifier}function bR(a,b={}){let c,d=a.runtimeHint||bE[a.registryType],e=bN(a.packageArguments),f=bN(a.runtimeArguments),g=function(a){let b={};for(let c of a??[]){if(!c.name)continue;let a=c.value??c.default??"";b[c.name]=c.isSecret?{value:a,metadata:{isSecret:!0}}:a}return b}(a.environmentVariables);switch(a.registryType){case"npm":c=[...f,"-y",bQ(a),...e];break;case"pypi":c=[...f,a.version?`${a.identifier}==${a.version}`:a.identifier,...e];break;case"oci":{let d,h="inline"===b.envFlags?function(a){let b=[];for(let c of a??[]){if(!c.name)continue;let a=c.value??c.default,d=!c.isSecret&&void 0!==a&&""!==a;b.push("-e",`${c.name}=${d?a:`<${c.name}>`}`)}return b}(a.environmentVariables):Object.keys(g).flatMap(a=>["-e",a]);c=[..."run"===f[0]?[]:["run","-i","--rm"],...f,...h,!((d=a.identifier.split("/").pop()||a.identifier).includes(":")||d.includes("@"))&&a.version?`${a.identifier}:${a.version}`:a.identifier,...e];break}case"nuget":c=[...f,bQ(a),"--yes",...e];break;default:c=[...f,bQ(a),...e]}return{command:d,args:c,env:g}}function bS(a,b){return"remote"===a.kind?(a.remote.headers??[]).filter(a=>a.isRequired&&!(a.value??a.default)&&!b?.[a.name]).map(a=>a.name):(a.pkg.environmentVariables??[]).filter(a=>a.isRequired&&!(a.value??a.default)&&!b?.[a.name]).map(a=>a.name)}var bT=c(20158),bU=c(30960),bV=c(30630),bW=c(47786),bX=c(54269),bY=c(38592),bZ=c(4146),b$=c(39266),b_=c(73152);let b0=(0,a8.A)((0,d.jsx)("path",{d:"M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96"}),"Cloud"),b1=(0,a8.A)((0,d.jsx)("path",{d:"M8 5.19V5l11 7-2.55 1.63zm12 14.54-5.11-5.11L8 7.73 4.27 4 3 5.27l5 5V19l5.33-3.4 5.4 5.4z"}),"PlayDisabled"),b2=({option:a,disabled:b,onConfigureAsRemote:c})=>{let{t:f}=(0,q.s9)(),g=async()=>{try{await navigator.clipboard?.writeText(a.runLine)}catch{}};return(0,d.jsxs)(e.default,{sx:{px:2,py:1.5,borderTop:"1px solid",borderColor:"divider"},children:[(0,d.jsxs)(e.default,{sx:{display:"flex",alignItems:"center",gap:1,mb:.5},children:[(0,d.jsx)(b1,{fontSize:"small",color:"disabled"}),(0,d.jsx)(n.A,{variant:"body2",sx:{wordBreak:"break-all",flexGrow:1},children:a.label})]}),(0,d.jsx)(n.A,{variant:"caption",color:"text.secondary",component:"div",sx:{mb:1},children:f("mcp.registry.manualLaunch.description")}),(0,d.jsxs)(e.default,{sx:{display:"flex",alignItems:"flex-start",gap:1,p:1,borderRadius:1,bgcolor:"action.hover"},children:[(0,d.jsx)(n.A,{variant:"caption",component:"code",sx:{flexGrow:1,fontFamily:"monospace",wordBreak:"break-all"},children:a.runLine}),(0,d.jsx)(aA.A,{title:f("mcp.registry.manualLaunch.copyCommand"),children:(0,d.jsx)(z.A,{size:"small",onClick:g,"aria-label":f("mcp.registry.manualLaunch.copyCommand"),children:(0,d.jsx)(aP.A,{fontSize:"inherit"})})})]}),a.resolvedUrl?(0,d.jsx)(n.A,{variant:"caption",color:"text.secondary",component:"div",sx:{mt:1,wordBreak:"break-all"},children:a.resolvedUrl}):null,c?(0,d.jsx)(x.A,{size:"small",sx:{mt:1},disabled:b,onClick:()=>{b||c(a)},children:f("mcp.registry.manualLaunch.configureAsRemote")}):null]})},b3=({options:a,envDefaults:b,disabled:c,onSelect:f,onConfigureAsRemote:g})=>{let{t:h,formatList:i}=(0,q.s9)(),j=a.filter(a=>"manual-launch"!==a.kind),k=a.filter(a=>"manual-launch"===a.kind);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(bT.A,{children:j.map((a,e)=>{let g=bS(a,b);return(0,d.jsxs)(bU.A,{disabled:c,"aria-disabled":c||void 0,onClick:()=>{c||f(a)},children:[(0,d.jsx)(bV.A,{children:"package"===a.kind?(0,d.jsx)(b_.A,{}):(0,d.jsx)(b0,{})}),(0,d.jsx)(bW.A,{primary:a.label,secondary:g.length>0?h("mcp.marketplace.requires",{values:i(g)}):"package"===a.kind?h("mcp.marketplace.runsLocal"):h("mcp.marketplace.hostedRemote"),primaryTypographyProps:{sx:{wordBreak:"break-all"}}})]},e)})}),k.length>0?(0,d.jsxs)(e.default,{children:[(0,d.jsx)(t.A,{severity:"info",sx:{mb:1},children:h("mcp.registry.manualLaunch.title")}),k.map((a,b)=>(0,d.jsx)(b2,{option:a,disabled:c,onConfigureAsRemote:g},`manual-${b}`))]}):null]})},b4=({open:a,title:b,helpText:c,onClose:e,...f})=>{let{t:g}=(0,q.s9)();return(0,d.jsxs)(bX.A,{open:a,onClose:e,maxWidth:"sm",fullWidth:!0,children:[(0,d.jsx)(bY.A,{children:b}),(0,d.jsxs)(bZ.A,{children:[c?(0,d.jsx)(n.A,{variant:"body2",color:"text.secondary",sx:{mb:1},children:c}):null,(0,d.jsx)(b3,{...f})]}),(0,d.jsx)(b$.A,{children:(0,d.jsx)(x.A,{onClick:e,children:g("mcp.local.cancel")})})]})},b5=function({requireTrust:a,onHandoff:b}){let[c,d]=(0,f.useState)(null),[e,g]=(0,f.useState)(!1),h=(0,f.useCallback)((a,b)=>{let c=bH(a);return g(!1),d({server:a,options:c,...b?{envDefaults:b}:{}}),c},[]),i=(0,f.useCallback)(()=>{d(null),g(!1)},[]),j=(0,f.useCallback)((a,b,c)=>{let d,e,f;var g=(d="package"===b.kind?function(a,b){let{command:c,args:d,env:e}=bR(b),f=bP(a);return{...f,transport:"stdio",command:c,args:d,env:e,rootPath:`mcp-servers/${f.name}`}}(a,b.pkg):"manual-launch"===b.kind?function(a,b){let{command:c,args:d,env:e}=bR(b.pkg),f=bP(a),g={command:c,...d.length>0?{args:d}:{},...Object.keys(e).length>0?{env:e}:{}};return{...f,transport:b.transport,serverUrl:b.resolvedUrl??"",headers:{},env:e,launch:g,rootPath:`mcp-servers/${f.name}`}}(a,b):function(a,b){let c={};for(let a of b.headers??[])a.name&&(c[a.name]=a.value??a.default??"");let d=bP(a);return{...d,transport:"sse"===b.type?"sse":"streamable",serverUrl:b.url,headers:c,rootPath:`mcp-servers/${d.name}`}}(a,b.remote),e="remote"===b.kind?a.version:b.pkg.version??a.version,f={type:"registry",registryName:a.name,...e?{version:e}:{}},{...d,source:f}),h=c;if(!h||0===Object.keys(h).length)return g;let i={...g.env??{}};for(let[a,b]of Object.entries(h)){let c=i[a];c&&"object"==typeof c&&c.metadata?.isSecret?i[a]={value:b,metadata:{isSecret:!0}}:i[a]=b}return{...g,env:i}},[]),k=(0,f.useCallback)((a,c,d)=>{let e=j(a,c,d),f=bS(c,d);return i(),b?.({to:"configure",config:e,autoTestRun:!0}),f},[j,i,b]),l=(0,f.useCallback)((a,c,d)=>{let e=j(a,c,d);i(),b?.({to:"configure",config:e})},[j,i,b]),m=(0,f.useCallback)((a,b)=>bS(a,b),[]);return{selection:c,options:c?.options??[],trustConfirmed:e,setTrustConfirmed:g,installBlocked:a&&!e,open:h,close:i,install:k,configureAsRemote:l,missingFor:m}};var b6=c(4784),b7=c(74111),b8=c(86947),b9=c(56686),ca=c(98908);let cb=(0,a8.A)((0,d.jsx)("path",{d:"M12 1.27a11 11 0 00-3.48 21.46c.55.09.73-.28.73-.55v-1.84c-3.03.64-3.67-1.46-3.67-1.46-.55-1.29-1.28-1.65-1.28-1.65-.92-.65.1-.65.1-.65 1.1 0 1.73 1.1 1.73 1.1.92 1.65 2.57 1.2 3.21.92a2 2 0 01.64-1.47c-2.47-.27-5.04-1.19-5.04-5.5 0-1.1.46-2.1 1.2-2.84a3.76 3.76 0 010-2.93s.91-.28 3.11 1.1c1.8-.49 3.7-.49 5.5 0 2.1-1.38 3.02-1.1 3.02-1.1a3.76 3.76 0 010 2.93c.83.74 1.2 1.74 1.2 2.94 0 4.21-2.57 5.13-5.04 5.4.45.37.82.92.82 2.02v3.03c0 .27.1.64.73.55A11 11 0 0012 1.27"}),"GitHub");var cc=c(21190),cd=c(43955),ce=c(33335),cf=c(35936),cg=c(68872);let ch=({onClose:a,onHandoff:b})=>{let c=(0,aq.A)(),{t:g,formatNumber:h,formatList:i}=(0,q.s9)(),[j,k]=(0,f.useState)(""),[l,m]=(0,f.useState)(""),[o,r]=(0,f.useState)([]),[s,u]=(0,f.useState)(null),[A,B]=(0,f.useState)(!1),[C,D]=(0,f.useState)(!1),[E,F]=(0,f.useState)(null),G=b5({requireTrust:!0,onHandoff:b}),H=G.selection?.server??null,I=G.trustConfirmed,J=(0,f.useRef)(0),K=(0,f.useCallback)(a=>{G.open(a)},[G]),L=(0,f.useCallback)(()=>{G.close()},[G]),M=(0,f.useCallback)(async(a,b)=>{let c=++J.current,d=!b;d?B(!0):D(!0),F(null);try{let e=new URLSearchParams({limit:String(30)});a&&e.set("search",a),b&&e.set("cursor",b);let f=await fetch(`/api/mcp-registry?${e.toString()}`),g=await f.json();if(c!==J.current)return;if(!f.ok||!1===g.success)throw Error(g.error||String(f.status));let h=g.servers??[];r(a=>d?h:[...a,...h]),u(h.length>0?g.metadata?.nextCursor??null:null)}catch(a){if(c!==J.current)return;console.error("Error fetching from MCP Registry:",a),F({type:"error",text:g("mcp.marketplace.loadError",{error:a instanceof Error?a.message:g("mcp.server.unknownError")})})}finally{c===J.current&&(B(!1),D(!1))}},[g]);(0,f.useEffect)(()=>{l&&M(l)},[l,M]);let N=()=>{k(""),m(""),J.current++,B(!1),D(!1),r([]),u(null),F(null)},O=a=>{let b=a.repository?.url;if(!b)return null;try{return"github.com"===new URL(b).hostname?b:null}catch{return null}},P=G.options;return(0,d.jsxs)(e.default,{sx:{width:"100%"},children:[(0,d.jsxs)(v.A,{spacing:3,children:[(0,d.jsx)(n.A,{variant:"h6",gutterBottom:!0,children:g("mcp.marketplace.title")}),(0,d.jsx)(n.A,{variant:"body2",color:"text.secondary",children:(0,d.jsx)(aJ.A,{message:"mcp.marketplace.help",values:{registryLink:(0,d.jsx)(aO.A,{href:"https://registry.modelcontextprotocol.io",target:"_blank",rel:"noopener noreferrer",children:g("mcp.marketplace.registry")})}})}),(0,d.jsx)(w.A,{fullWidth:!0,size:"small",value:j,onChange:a=>k(a.target.value),onKeyDown:a=>{if("Enter"===a.key){a.preventDefault();let b=j.trim();b?b===l?M(b):m(b):N()}},placeholder:g("mcp.marketplace.search"),variant:"outlined",InputProps:{startAdornment:(0,d.jsx)(y.A,{position:"start",children:(0,d.jsx)(ca.A,{})}),endAdornment:j?(0,d.jsx)(y.A,{position:"end",children:(0,d.jsx)(z.A,{size:"small",onClick:N,"aria-label":g("mcp.marketplace.clearSearch"),children:(0,d.jsx)(cd.A,{fontSize:"small"})})}):void 0}}),E&&(0,d.jsx)(t.A,{severity:E.type,onClose:()=>F(null),children:E.text}),A?(0,d.jsx)(e.default,{sx:{display:"flex",justifyContent:"center",my:4},children:(0,d.jsx)(au.default,{})}):(0,d.jsxs)(d.Fragment,{children:[0===o.length&&!E&&(0,d.jsx)(n.A,{variant:"body1",color:"text.secondary",sx:{textAlign:"center",my:4},children:l?(0,d.jsx)(d.Fragment,{children:g("mcp.marketplace.noResults",{search:l})}):(0,d.jsx)(d.Fragment,{children:g("mcp.marketplace.startSearch")})}),(0,d.jsx)(p.Ay,{container:!0,spacing:2,children:o.map(a=>{let b,f=a.server,i=bH(f).some(bD),j="active"===("string"==typeof(b=a?._meta?.["io.modelcontextprotocol.registry/official"]?.status)&&b.length>0?b:"unverified");return(0,d.jsx)(p.Ay,{item:!0,xs:12,sm:6,md:4,children:(0,d.jsx)(b6.A,{sx:{height:"100%",display:"flex",flexDirection:"column",transition:"transform 0.2s, box-shadow 0.2s","&:hover":{transform:"translateY(-4px)",boxShadow:6}},children:(0,d.jsxs)(b7.A,{sx:{flexGrow:1,display:"flex",flexDirection:"column",alignItems:"stretch"},onClick:()=>{K(f)},children:[(0,d.jsxs)(e.default,{sx:{p:2,display:"flex",alignItems:"center",borderBottom:"1px solid",borderColor:"divider"},children:[(0,d.jsx)(b8.A,{src:bL(f,c.palette.mode)??void 0,sx:{bgcolor:c.palette.primary.main,color:"#fff",mr:2,boxShadow:1},children:bK(f).charAt(0).toUpperCase()}),(0,d.jsxs)(e.default,{sx:{flexGrow:1,minWidth:0},children:[(0,d.jsx)(n.A,{variant:"subtitle1",component:"div",noWrap:!0,title:bK(f),children:bK(f)}),(0,d.jsx)(n.A,{variant:"caption",color:"text.secondary",noWrap:!0,component:"div",title:f.name,children:f.name})]})]}),(0,d.jsxs)(b9.A,{sx:{flexGrow:1,pt:2,width:"100%"},children:[(0,d.jsx)(n.A,{variant:"body2",color:"text.secondary",sx:{mb:2,display:"-webkit-box",WebkitLineClamp:3,WebkitBoxOrient:"vertical",overflow:"hidden"},children:f.description||g("mcp.spotlight.noDescription")}),(0,d.jsxs)(e.default,{sx:{display:"flex",flexWrap:"wrap",gap:.5,alignItems:"center"},children:["number"==typeof a.quality?.stars&&(0,d.jsx)(ax.A,{size:"small",variant:"outlined",icon:(0,d.jsx)(cf.A,{}),label:h(a.quality.stars,{notation:"compact",maximumFractionDigits:1}),title:g("mcp.marketplace.stars",{count:h(a.quality.stars)})}),"number"==typeof a.quality?.weeklyDownloads&&(0,d.jsx)(ax.A,{size:"small",variant:"outlined",icon:(0,d.jsx)(cg.A,{}),label:g("mcp.marketplace.weeklyCompact",{count:h(a.quality.weeklyDownloads,{notation:"compact",maximumFractionDigits:1})}),title:g("mcp.marketplace.weeklyDownloads",{count:h(a.quality.weeklyDownloads)})}),(a=>{let b=[],c=new Set;for(let f of a.packages??[]){var e;let a=bF[e=f.registryType]||e;c.has(a)||(c.add(a),b.push((0,d.jsx)(ax.A,{size:"small",icon:(0,d.jsx)(b_.A,{}),label:a},`pkg-${a}`)))}return(a.remotes??[]).length>0&&b.push((0,d.jsx)(ax.A,{size:"small",icon:(0,d.jsx)(b0,{}),label:g("mcp.marketplace.remote")},"remote")),b})(f),f.version&&(0,d.jsx)(ax.A,{size:"small",variant:"outlined",label:`v${f.version}`}),!i&&(0,d.jsx)(ax.A,{size:"small",color:"warning",variant:"outlined",label:g("mcp.marketplace.manualSetup")}),i&&!j&&(0,d.jsx)(ax.A,{size:"small",color:"warning",variant:"outlined",icon:(0,d.jsx)(ce.A,{}),label:g("mcp.marketplace.unverified"),title:g("mcp.marketplace.unverifiedHelp")})]})]})]})})},f.name)})}),s&&o.length>0&&(0,d.jsx)(e.default,{sx:{display:"flex",justifyContent:"center"},children:(0,d.jsx)(x.A,{variant:"outlined",onClick:()=>M(l,s),disabled:C,startIcon:C?(0,d.jsx)(au.default,{size:20,color:"inherit"}):void 0,children:C?g("mcp.marketplace.loading"):g("mcp.marketplace.loadMore")})})]}),(0,d.jsx)(e.default,{sx:{display:"flex",justifyContent:"flex-end",gap:1},children:(0,d.jsx)(x.A,{variant:"outlined",onClick:a,children:g("mcp.local.cancel")})})]}),(0,d.jsx)(bX.A,{open:null!==H,onClose:L,maxWidth:"sm",fullWidth:!0,children:H&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(bY.A,{component:"div",children:(0,d.jsxs)(e.default,{sx:{display:"flex",alignItems:"center",gap:1.5,minWidth:0},children:[(0,d.jsx)(b8.A,{src:bL(H,c.palette.mode)??void 0,sx:{bgcolor:c.palette.primary.main,color:"#fff",width:40,height:40},children:bK(H).charAt(0).toUpperCase()}),(0,d.jsxs)(e.default,{sx:{minWidth:0},children:[(0,d.jsx)(n.A,{variant:"h6",noWrap:!0,title:bK(H),children:bK(H)}),(0,d.jsx)(n.A,{variant:"caption",color:"text.secondary",noWrap:!0,component:"div",title:H.name,children:H.name})]})]})}),(0,d.jsxs)(bZ.A,{children:[(H.repository?.url||H.websiteUrl)&&(0,d.jsxs)(e.default,{sx:{display:"flex",gap:1,mb:2,flexWrap:"wrap"},children:[H.repository?.url&&(0,d.jsx)(x.A,{size:"small",startIcon:(0,d.jsx)(cb,{}),component:"a",href:H.repository.url,target:"_blank",rel:"noopener noreferrer",children:g("mcp.marketplace.repository")}),H.websiteUrl&&(0,d.jsx)(x.A,{size:"small",startIcon:(0,d.jsx)(cc.A,{}),component:"a",href:H.websiteUrl,target:"_blank",rel:"noopener noreferrer",children:g("mcp.marketplace.website")})]}),(0,d.jsx)(n.A,{variant:"body2",color:"text.secondary",sx:{mb:2},children:H.description||g("mcp.spotlight.noDescription")}),(0,d.jsx)(t.A,{severity:"warning",icon:(0,d.jsx)(ce.A,{}),sx:{mb:1},children:g("mcp.marketplace.securityWarning")}),(0,d.jsx)(ay.A,{sx:{mb:1},control:(0,d.jsx)(az.A,{checked:I,onChange:a=>G.setTrustConfirmed(a.target.checked)}),label:g("mcp.marketplace.trust")}),P.length>0?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(n.A,{variant:"subtitle2",gutterBottom:!0,children:g("mcp.marketplace.chooseInstall")}),(0,d.jsx)(b3,{options:P,disabled:G.installBlocked,onSelect:a=>{let b;F({type:(b=G.install(H,a)).length>0?"warning":"success",text:b.length>0?g("mcp.marketplace.preparedMissing",{values:i(b)}):g("mcp.marketplace.prepared")})},onConfigureAsRemote:a=>{G.configureAsRemote(H,a),F({type:"success",text:g("mcp.marketplace.prepared")})}})]}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(t.A,{severity:"info",children:[g("mcp.marketplace.noAutomatic"),O(H)&&b&&(0,d.jsxs)(d.Fragment,{children:[" ",g("mcp.marketplace.githubFallback")]})]}),O(H)&&b&&(0,d.jsx)(x.A,{variant:"contained",startIcon:(0,d.jsx)(cb,{}),disabled:!I,onClick:()=>{let a;(a=O(H))&&b&&(L(),b({to:"github",repoUrl:a}))},sx:{mt:2},children:g("mcp.marketplace.tryManual")})]})]}),(0,d.jsx)(b$.A,{children:(0,d.jsx)(x.A,{onClick:L,children:g("mcp.marketplace.close")})})]})})]})};var ci=c(77493);let cj=({onClose:a,onHandoff:b})=>{let c=(0,aq.A)(),{t:g,tp:h,formatDate:i,formatList:j}=(0,q.s9)(),[k,l]=(0,f.useState)(null),[m,o]=(0,f.useState)(!0),[r,s]=(0,f.useState)(!1),[u,w]=(0,f.useState)(null),y=b5({requireTrust:!1,onHandoff:b});(0,f.useEffect)(()=>{let a=!1;return(async()=>{try{let b=await fetch("/api/mcp-registry/spotlight"),c=await b.json();if(a)return;if(!b.ok||!1===c.success)throw Error(c.error||String(b.status));l(c.cache??null)}catch(b){a||w({type:"error",text:g("mcp.spotlight.loadError",{error:b instanceof Error?b.message:g("mcp.server.unknownError")})})}finally{a||o(!1)}})(),()=>{a=!0}},[g]);let z=async()=>{s(!0),w(null);try{let a=await fetch("/api/mcp-registry/spotlight",{method:"POST"}),b=await a.json();if(!a.ok||!1===b.success)throw Error(b.error||String(a.status));l(b.cache??null)}catch(a){w({type:"error",text:g("mcp.spotlight.refreshError",{error:a instanceof Error?a.message:g("mcp.server.unknownError")})})}finally{s(!1)}},A=(a,b)=>{let c=y.install(a.server,b,a.env);c.length>0&&w({type:"warning",text:g("mcp.marketplace.preparedMissing",{values:j(c)})})},B=(k?.entries??[]).filter(a=>a.result).map(a=>({server:a.result.server,env:a.env})),C=(k?.entries??[]).filter(a=>!a.result),D=y.selection?{server:y.selection.server,...y.selection.envDefaults?{env:y.selection.envDefaults}:{}}:null;return(0,d.jsxs)(e.default,{sx:{width:"100%"},children:[(0,d.jsxs)(v.A,{spacing:3,children:[(0,d.jsxs)(e.default,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[(0,d.jsx)(n.A,{variant:"h6",children:g("mcp.spotlight.title")}),(0,d.jsx)(x.A,{variant:"outlined",size:"small",onClick:z,disabled:r,startIcon:r?(0,d.jsx)(au.default,{size:16,color:"inherit"}):(0,d.jsx)(ci.A,{}),children:r?g("mcp.spotlight.refreshing"):g("mcp.spotlight.refresh")})]}),(0,d.jsxs)(n.A,{variant:"body2",color:"text.secondary",children:[g("mcp.spotlight.help"),k?.updatedAt&&(0,d.jsxs)(d.Fragment,{children:[" ",g("mcp.spotlight.updated",{date:i(k.updatedAt,{dateStyle:"medium",timeStyle:"short"})})]})]}),u&&(0,d.jsx)(t.A,{severity:u.type,onClose:()=>w(null),children:u.text}),m?(0,d.jsx)(e.default,{sx:{display:"flex",justifyContent:"center",my:4},children:(0,d.jsx)(au.default,{})}):0===B.length?(0,d.jsx)(n.A,{variant:"body1",color:"text.secondary",sx:{textAlign:"center",my:4},children:g("mcp.spotlight.empty")}):(0,d.jsx)(p.Ay,{container:!0,spacing:2,children:B.map(a=>{let{server:b}=a,f=bH(b),h=f.some(a=>"package"===a.kind),i=f.some(a=>"remote"===a.kind);return(0,d.jsx)(p.Ay,{item:!0,xs:12,sm:6,md:4,children:(0,d.jsx)(b6.A,{sx:{height:"100%",display:"flex",flexDirection:"column",transition:"transform 0.2s, box-shadow 0.2s","&:hover":{transform:"translateY(-4px)",boxShadow:6}},children:(0,d.jsxs)(b7.A,{sx:{flexGrow:1,display:"flex",flexDirection:"column",alignItems:"stretch"},onClick:()=>(a=>{let b=y.open(a.server,a.env);if(0===b.length){y.close(),w({type:"warning",text:g("mcp.spotlight.noInstall",{server:bK(a.server)})});return}1===b.length&&bD(b[0])&&A(a,b[0])})(a),children:[(0,d.jsxs)(e.default,{sx:{p:2,display:"flex",alignItems:"center",borderBottom:"1px solid",borderColor:"divider"},children:[(0,d.jsx)(b8.A,{sx:{bgcolor:c.palette.warning.main,color:"#fff",mr:2,boxShadow:1},children:(0,d.jsx)(cf.A,{fontSize:"small"})}),(0,d.jsxs)(e.default,{sx:{flexGrow:1,minWidth:0},children:[(0,d.jsx)(n.A,{variant:"subtitle1",component:"div",noWrap:!0,title:bK(b),children:bK(b)}),(0,d.jsx)(n.A,{variant:"caption",color:"text.secondary",noWrap:!0,component:"div",title:b.name,children:b.name})]})]}),(0,d.jsxs)(b9.A,{sx:{flexGrow:1,pt:2,width:"100%"},children:[(0,d.jsx)(n.A,{variant:"body2",color:"text.secondary",sx:{mb:2,display:"-webkit-box",WebkitLineClamp:3,WebkitBoxOrient:"vertical",overflow:"hidden"},children:b.description||g("mcp.spotlight.noDescription")}),(0,d.jsxs)(e.default,{sx:{display:"flex",flexWrap:"wrap",gap:.5,alignItems:"center"},children:[h&&(0,d.jsx)(ax.A,{size:"small",icon:(0,d.jsx)(b_.A,{}),label:g("mcp.spotlight.local")}),i&&(0,d.jsx)(ax.A,{size:"small",icon:(0,d.jsx)(b0,{}),label:g("mcp.spotlight.remote")}),b.version&&(0,d.jsx)(ax.A,{size:"small",variant:"outlined",label:`v${b.version}`})]})]})]})})},b.name)})}),C.length>0&&!m&&(0,d.jsxs)(t.A,{severity:"warning",children:[h("mcp.spotlight.failures",C.length),C.map(a=>(0,d.jsxs)(n.A,{variant:"caption",component:"div",sx:{wordBreak:"break-all"},children:[a.url," — ",a.error||g("mcp.server.unknownError")]},a.url))]}),(0,d.jsx)(e.default,{sx:{display:"flex",justifyContent:"flex-end",gap:1},children:(0,d.jsx)(x.A,{variant:"outlined",onClick:a,children:g("mcp.local.cancel")})})]}),D&&(0,d.jsx)(b4,{open:!0,title:bK(D.server),helpText:g("mcp.spotlight.chooseHelp"),options:y.options,...D.env?{envDefaults:D.env}:{},onClose:y.close,onSelect:a=>A(D,a),onConfigureAsRemote:a=>{y.configureAsRemote(D.server,a,D.env)}})]})},ck=({onAdd:a,onClose:b,onHandoff:c})=>{let g=(0,aq.A)(),{t:h,tp:i}=(0,q.s9)(),[j,k]=(0,f.useState)(!1),[l,m]=(0,f.useState)(!1),[r,s]=(0,f.useState)(!1),[u,w]=(0,f.useState)(null),[y,z]=(0,f.useState)([]),[A,B]=(0,f.useState)(""),[C,D]=(0,f.useState)(!1),{consoleOutput:E,isConsoleVisible:F,setIsConsoleVisible:G,updateConsole:H,clearConsole:I}=as();(0,f.useEffect)(()=>{(async()=>{k(!0);try{let a=await fetch("/api/cwd"),b=await a.json();if(b.success){B(b.mcpServersDir);let a=`${b.mcpServersDir}/servers`,c=await fetch("/api/git",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"exists",savePath:a})}),d=await c.json();D(d.exists),d.exists?await K(a):w({type:"warning",text:h("mcp.reference.repoMissing")})}}catch(a){console.error("Error initializing Reference Servers tab:",a),w({type:"error",text:h("mcp.reference.initializeError",{error:a instanceof Error?a.message:h("mcp.server.unknownError")})})}finally{k(!1)}})()},[h]);let J=async()=>{m(!0),I(),G(!0),H(`${h("mcp.reference.refreshStart")}
57
57
  `);try{let a="https://github.com/modelcontextprotocol/servers.git",b=`${A}/servers`;if(C){H(`${h("mcp.reference.repoPulling")}
58
58
  `);let a=await fetch("/api/git",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"run",savePath:b,runCommand:"git pull"})}),c=await a.json();c.success?H(`${h("mcp.reference.pullSuccess",{output:c.output||h("mcp.reference.repoUpdated")})}
59
59
  `):(H(`${h("mcp.reference.pullWarning",{error:c.error||h("mcp.server.unknownError")})}