mirror of
https://github.com/openclaw/openclaw.git
synced 2026-04-22 22:52:03 +00:00
41 lines
1.1 KiB
TypeScript
41 lines
1.1 KiB
TypeScript
import { describeHttpMcpServerLaunchConfig, resolveHttpMcpServerLaunchConfig } from "./mcp-http.js";
|
|
|
|
type SseMcpServerLaunchConfig = {
|
|
url: string;
|
|
headers?: Record<string, string>;
|
|
};
|
|
|
|
type SseMcpServerLaunchResult =
|
|
| { ok: true; config: SseMcpServerLaunchConfig }
|
|
| { ok: false; reason: string };
|
|
|
|
export function resolveSseMcpServerLaunchConfig(
|
|
raw: unknown,
|
|
options?: {
|
|
onDroppedHeader?: (key: string, value: unknown) => void;
|
|
onMalformedHeaders?: (value: unknown) => void;
|
|
},
|
|
): SseMcpServerLaunchResult {
|
|
const resolved = resolveHttpMcpServerLaunchConfig(raw, {
|
|
transportType: "sse",
|
|
onDroppedHeader: options?.onDroppedHeader,
|
|
onMalformedHeaders: options?.onMalformedHeaders,
|
|
});
|
|
if (!resolved.ok) {
|
|
return resolved;
|
|
}
|
|
return {
|
|
ok: true,
|
|
config: {
|
|
url: resolved.config.url,
|
|
headers: resolved.config.headers,
|
|
},
|
|
};
|
|
}
|
|
|
|
export function describeSseMcpServerLaunchConfig(config: SseMcpServerLaunchConfig): string {
|
|
return describeHttpMcpServerLaunchConfig({ ...config, transportType: "sse" });
|
|
}
|
|
|
|
export type { SseMcpServerLaunchConfig, SseMcpServerLaunchResult };
|