File size: 755 Bytes
4e23b01 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | import type { McpServerConfig } from './config-schema';
export type McpServerConfigView =
| (Omit<Extract<McpServerConfig, { readonly transport: 'stdio' }>, 'env'> & {
readonly envKeys?: readonly string[];
})
| (Omit<Exclude<McpServerConfig, { readonly transport: 'stdio' }>, 'headers'> & {
readonly headerKeys?: readonly string[];
});
export function toMcpServerConfigView(config: McpServerConfig): McpServerConfigView {
if (config.transport === 'stdio') {
const { env, ...safe } = config;
return env === undefined ? safe : { ...safe, envKeys: Object.keys(env).toSorted() };
}
const { headers, ...safe } = config;
return headers === undefined ? safe : { ...safe, headerKeys: Object.keys(headers).toSorted() };
}
|