refactor: dedupe doctor account streaming matchers

This commit is contained in:
Peter Steinberger
2026-04-06 20:26:54 +01:00
parent 1366b943e5
commit ccfdfec43f
3 changed files with 3 additions and 15 deletions

View File

@@ -16,10 +16,6 @@ function hasLegacyDiscordStreamingAliases(value: unknown): boolean {
return hasLegacyStreamingAliases(value, { includePreviewChunk: true });
}
function hasLegacyDiscordAccountStreamingAliases(value: unknown): boolean {
return hasLegacyAccountStreamingAliases(value, hasLegacyDiscordStreamingAliases);
}
const LEGACY_TTS_PROVIDER_KEYS = ["openai", "elevenlabs", "microsoft", "edge"] as const;
function hasLegacyTtsProviderKeys(value: unknown): boolean {
@@ -128,7 +124,7 @@ export const legacyConfigRules: ChannelDoctorLegacyConfigRule[] = [
path: ["channels", "discord", "accounts"],
message:
"channels.discord.accounts.<id>.streamMode, streaming (scalar), chunkMode, blockStreaming, draftChunk, and blockStreamingCoalesce are legacy; use channels.discord.accounts.<id>.streaming.{mode,chunkMode,preview.chunk,block.enabled,block.coalesce}.",
match: hasLegacyDiscordAccountStreamingAliases,
match: (value) => hasLegacyAccountStreamingAliases(value, hasLegacyDiscordStreamingAliases),
},
{
path: ["channels", "discord", "voice", "tts"],

View File

@@ -16,10 +16,6 @@ function hasLegacySlackStreamingAliases(value: unknown): boolean {
return hasLegacyStreamingAliases(value, { includeNativeTransport: true });
}
function hasLegacySlackAccountStreamingAliases(value: unknown): boolean {
return hasLegacyAccountStreamingAliases(value, hasLegacySlackStreamingAliases);
}
export const legacyConfigRules: ChannelDoctorLegacyConfigRule[] = [
{
path: ["channels", "slack"],
@@ -31,7 +27,7 @@ export const legacyConfigRules: ChannelDoctorLegacyConfigRule[] = [
path: ["channels", "slack", "accounts"],
message:
"channels.slack.accounts.<id>.streamMode, streaming (scalar), chunkMode, blockStreaming, blockStreamingCoalesce, and nativeStreaming are legacy; use channels.slack.accounts.<id>.streaming.{mode,chunkMode,block.enabled,block.coalesce,nativeTransport}.",
match: hasLegacySlackAccountStreamingAliases,
match: (value) => hasLegacyAccountStreamingAliases(value, hasLegacySlackStreamingAliases),
},
];

View File

@@ -15,10 +15,6 @@ function hasLegacyTelegramStreamingAliases(value: unknown): boolean {
return hasLegacyStreamingAliases(value, { includePreviewChunk: true });
}
function hasLegacyTelegramAccountStreamingAliases(value: unknown): boolean {
return hasLegacyAccountStreamingAliases(value, hasLegacyTelegramStreamingAliases);
}
function resolveCompatibleDefaultGroupEntry(section: Record<string, unknown>): {
groups: Record<string, unknown>;
entry: Record<string, unknown>;
@@ -53,7 +49,7 @@ export const legacyConfigRules: ChannelDoctorLegacyConfigRule[] = [
path: ["channels", "telegram", "accounts"],
message:
"channels.telegram.accounts.<id>.streamMode, streaming (scalar), chunkMode, blockStreaming, draftChunk, and blockStreamingCoalesce are legacy; use channels.telegram.accounts.<id>.streaming.{mode,chunkMode,preview.chunk,block.enabled,block.coalesce}.",
match: hasLegacyTelegramAccountStreamingAliases,
match: (value) => hasLegacyAccountStreamingAliases(value, hasLegacyTelegramStreamingAliases),
},
];