| import uniqBy from 'lodash-es/uniqBy.js' |
| import { useMemo } from 'react' |
| import type { MCPServerConnection } from '../services/mcp/types.js' |
|
|
| export function mergeClients( |
| initialClients: MCPServerConnection[] | undefined, |
| mcpClients: readonly MCPServerConnection[] | undefined, |
| ): MCPServerConnection[] { |
| if (initialClients && mcpClients && mcpClients.length > 0) { |
| return uniqBy([...initialClients, ...mcpClients], 'name') |
| } |
| return initialClients || [] |
| } |
|
|
| export function useMergedClients( |
| initialClients: MCPServerConnection[] | undefined, |
| mcpClients: MCPServerConnection[] | undefined, |
| ): MCPServerConnection[] { |
| return useMemo( |
| () => mergeClients(initialClients, mcpClients), |
| [initialClients, mcpClients], |
| ) |
| } |
|
|