| 28 | if ($[0] !== onComplete || $[1] !== reconnectMcpServer || $[2] !== serverName || $[3] !== store) { |
| 29 | t1 = () => { |
| 30 | const attemptReconnect = async function attemptReconnect() { |
| 31 | ; |
| 32 | try { |
| 33 | const server = store.getState().mcp.clients.find(c => c.name === serverName); |
| 34 | if (!server) { |
| 35 | setError(`MCP server "${serverName}" not found`); |
| 36 | setIsReconnecting(false); |
| 37 | onComplete(`MCP server "${serverName}" not found`); |
| 38 | return; |
| 39 | } |
| 40 | const result = await reconnectMcpServer(serverName); |
| 41 | bb43: switch (result.client.type) { |
| 42 | case "connected": |
| 43 | { |
| 44 | setIsReconnecting(false); |
| 45 | onComplete(`Successfully reconnected to ${serverName}`); |
| 46 | break bb43; |
| 47 | } |
| 48 | case "needs-auth": |
| 49 | { |
| 50 | setError(`${serverName} requires authentication`); |
| 51 | setIsReconnecting(false); |
| 52 | onComplete(`${serverName} requires authentication. Use /mcp to authenticate.`); |
| 53 | break bb43; |
| 54 | } |
| 55 | case "pending": |
| 56 | case "failed": |
| 57 | case "disabled": |
| 58 | { |
| 59 | setError(`Failed to reconnect to ${serverName}`); |
| 60 | setIsReconnecting(false); |
| 61 | onComplete(`Failed to reconnect to ${serverName}`); |
| 62 | } |
| 63 | } |
| 64 | } catch (t3) { |
| 65 | const err = t3; |
| 66 | const errorMessage = err instanceof Error ? err.message : String(err); |
| 67 | setError(errorMessage); |
| 68 | setIsReconnecting(false); |
| 69 | onComplete(`Error: ${errorMessage}`); |
| 70 | } |
| 71 | }; |
| 72 | attemptReconnect(); |
| 73 | }; |
| 74 | t2 = [serverName, reconnectMcpServer, store, onComplete]; |