mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-03 04:00:22 +00:00
fix(config): apply filtered doctor compat at read time
This commit is contained in:
1
extensions/discord/doctor-contract-api.ts
Normal file
1
extensions/discord/doctor-contract-api.ts
Normal file
@@ -0,0 +1 @@
|
||||
export { normalizeCompatibilityConfig, legacyConfigRules } from "./src/doctor-contract.js";
|
||||
@@ -1,12 +1,32 @@
|
||||
import { resolveChannelPreviewStreamMode } from "openclaw/plugin-sdk/channel-streaming";
|
||||
|
||||
export type DiscordPreviewStreamMode = "off" | "partial" | "block";
|
||||
|
||||
function parsePreviewStreamingMode(value: unknown): DiscordPreviewStreamMode | undefined {
|
||||
return value === "off" || value === "partial" || value === "block" ? value : undefined;
|
||||
}
|
||||
|
||||
export function resolveDiscordPreviewStreamMode(
|
||||
params: {
|
||||
streamMode?: unknown;
|
||||
streaming?: unknown;
|
||||
} = {},
|
||||
): DiscordPreviewStreamMode {
|
||||
return resolveChannelPreviewStreamMode(params, "off");
|
||||
const parsedStreaming =
|
||||
params.streaming && typeof params.streaming === "object" && !Array.isArray(params.streaming)
|
||||
? parsePreviewStreamingMode(
|
||||
(params.streaming as Record<string, unknown>).mode ??
|
||||
(params.streaming as Record<string, unknown>).streaming,
|
||||
)
|
||||
: parsePreviewStreamingMode(params.streaming);
|
||||
if (parsedStreaming) {
|
||||
return parsedStreaming;
|
||||
}
|
||||
|
||||
const legacy = parsePreviewStreamingMode(params.streamMode);
|
||||
if (legacy) {
|
||||
return legacy;
|
||||
}
|
||||
if (typeof params.streaming === "boolean") {
|
||||
return params.streaming ? "partial" : "off";
|
||||
}
|
||||
return "off";
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user