mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-16 03:10:43 +00:00
TTS: add provider personas
This commit is contained in:
@@ -133,10 +133,15 @@ export type {
|
||||
TelegramInlineButtonsScope,
|
||||
TelegramNetworkConfig,
|
||||
TelegramTopicConfig,
|
||||
ResolvedTtsPersona,
|
||||
TtsAutoMode,
|
||||
TtsConfig,
|
||||
TtsMode,
|
||||
TtsModelOverrideConfig,
|
||||
TtsPersonaConfig,
|
||||
TtsPersonaFallbackPolicy,
|
||||
TtsPersonaPromptConfig,
|
||||
TtsPersonaRewriteConfig,
|
||||
TtsProvider,
|
||||
} from "../config/types.js";
|
||||
export {
|
||||
|
||||
@@ -9,11 +9,14 @@ export type {
|
||||
SpeechModelOverridePolicy,
|
||||
SpeechProviderConfig,
|
||||
SpeechProviderConfiguredContext,
|
||||
SpeechProviderPreparedSynthesis,
|
||||
SpeechProviderPrepareSynthesisContext,
|
||||
SpeechProviderResolveConfigContext,
|
||||
SpeechProviderResolveTalkConfigContext,
|
||||
SpeechProviderResolveTalkOverridesContext,
|
||||
SpeechProviderOverrides,
|
||||
SpeechSynthesisRequest,
|
||||
SpeechSynthesisTarget,
|
||||
SpeechTelephonySynthesisRequest,
|
||||
SpeechVoiceOption,
|
||||
TtsDirectiveOverrides,
|
||||
@@ -35,6 +38,7 @@ export {
|
||||
listSpeechProviders,
|
||||
normalizeSpeechProviderId,
|
||||
} from "../tts/provider-registry.js";
|
||||
export { resolveEffectiveTtsConfig } from "../tts/tts-config.js";
|
||||
export { normalizeTtsAutoMode, TTS_AUTO_MODES } from "../tts/tts-auto-mode.js";
|
||||
export {
|
||||
asBoolean,
|
||||
|
||||
@@ -12,11 +12,14 @@ export type {
|
||||
SpeechModelOverridePolicy,
|
||||
SpeechProviderConfig,
|
||||
SpeechProviderConfiguredContext,
|
||||
SpeechProviderPreparedSynthesis,
|
||||
SpeechProviderPrepareSynthesisContext,
|
||||
SpeechProviderResolveConfigContext,
|
||||
SpeechProviderResolveTalkConfigContext,
|
||||
SpeechProviderResolveTalkOverridesContext,
|
||||
SpeechProviderOverrides,
|
||||
SpeechSynthesisRequest,
|
||||
SpeechSynthesisTarget,
|
||||
SpeechTelephonySynthesisRequest,
|
||||
SpeechVoiceOption,
|
||||
TtsDirectiveOverrides,
|
||||
|
||||
@@ -40,6 +40,10 @@ export const getTtsMaxLength: FacadeModule["getTtsMaxLength"] = createLazyFacade
|
||||
loadFacadeModule,
|
||||
"getTtsMaxLength",
|
||||
);
|
||||
export const getTtsPersona: FacadeModule["getTtsPersona"] = createLazyFacadeRuntimeValue(
|
||||
loadFacadeModule,
|
||||
"getTtsPersona",
|
||||
);
|
||||
export const getTtsProvider: FacadeModule["getTtsProvider"] = createLazyFacadeRuntimeValue(
|
||||
loadFacadeModule,
|
||||
"getTtsProvider",
|
||||
@@ -56,6 +60,10 @@ export const listSpeechVoices: FacadeModule["listSpeechVoices"] = createLazyFaca
|
||||
loadFacadeModule,
|
||||
"listSpeechVoices",
|
||||
);
|
||||
export const listTtsPersonas: FacadeModule["listTtsPersonas"] = createLazyFacadeRuntimeValue(
|
||||
loadFacadeModule,
|
||||
"listTtsPersonas",
|
||||
);
|
||||
export const maybeApplyTtsToPayload: FacadeModule["maybeApplyTtsToPayload"] =
|
||||
createLazyFacadeRuntimeValue(loadFacadeModule, "maybeApplyTtsToPayload");
|
||||
export const resolveExplicitTtsOverrides: FacadeModule["resolveExplicitTtsOverrides"] =
|
||||
@@ -90,6 +98,10 @@ export const setTtsMaxLength: FacadeModule["setTtsMaxLength"] = createLazyFacade
|
||||
loadFacadeModule,
|
||||
"setTtsMaxLength",
|
||||
);
|
||||
export const setTtsPersona: FacadeModule["setTtsPersona"] = createLazyFacadeRuntimeValue(
|
||||
loadFacadeModule,
|
||||
"setTtsPersona",
|
||||
);
|
||||
export const setTtsProvider: FacadeModule["setTtsProvider"] = createLazyFacadeRuntimeValue(
|
||||
loadFacadeModule,
|
||||
"setTtsProvider",
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import type { OpenClawConfig } from "../config/types.openclaw.js";
|
||||
import type { TtsAutoMode, TtsProvider } from "../config/types.tts.js";
|
||||
import type { ResolvedTtsPersona, TtsAutoMode, TtsProvider } from "../config/types.tts.js";
|
||||
import type {
|
||||
SpeechProviderConfig,
|
||||
SpeechVoiceOption,
|
||||
@@ -24,6 +24,8 @@ export type TtsProviderAttempt = {
|
||||
provider: string;
|
||||
outcome: "success" | "skipped" | "failed";
|
||||
reasonCode: TtsAttemptReasonCode;
|
||||
persona?: string;
|
||||
personaBinding?: "applied" | "missing" | "none";
|
||||
latencyMs?: number;
|
||||
error?: string;
|
||||
};
|
||||
@@ -34,6 +36,7 @@ export type TtsStatusEntry = {
|
||||
textLength: number;
|
||||
summarized: boolean;
|
||||
provider?: string;
|
||||
persona?: string;
|
||||
fallbackFrom?: string;
|
||||
attemptedProviders?: string[];
|
||||
attempts?: TtsProviderAttempt[];
|
||||
@@ -126,6 +129,7 @@ export type TtsResult = {
|
||||
error?: string;
|
||||
latencyMs?: number;
|
||||
provider?: string;
|
||||
persona?: string;
|
||||
fallbackFrom?: string;
|
||||
attemptedProviders?: string[];
|
||||
attempts?: TtsProviderAttempt[];
|
||||
@@ -141,6 +145,7 @@ export type TtsSynthesisResult = {
|
||||
error?: string;
|
||||
latencyMs?: number;
|
||||
provider?: string;
|
||||
persona?: string;
|
||||
fallbackFrom?: string;
|
||||
attemptedProviders?: string[];
|
||||
attempts?: TtsProviderAttempt[];
|
||||
@@ -156,6 +161,7 @@ export type TtsTelephonyResult = {
|
||||
error?: string;
|
||||
latencyMs?: number;
|
||||
provider?: string;
|
||||
persona?: string;
|
||||
fallbackFrom?: string;
|
||||
attemptedProviders?: string[];
|
||||
attempts?: TtsProviderAttempt[];
|
||||
@@ -179,6 +185,7 @@ export type TtsRuntimeFacade = {
|
||||
cfg?: OpenClawConfig,
|
||||
) => SpeechProviderConfig;
|
||||
getTtsMaxLength: (prefsPath: string) => number;
|
||||
getTtsPersona: (config: ResolvedTtsConfig, prefsPath: string) => ResolvedTtsPersona | undefined;
|
||||
getTtsProvider: (config: ResolvedTtsConfig, prefsPath: string) => TtsProvider;
|
||||
isSummarizationEnabled: (prefsPath: string) => boolean;
|
||||
isTtsEnabled: (config: ResolvedTtsConfig, prefsPath: string, sessionAuto?: string) => boolean;
|
||||
@@ -188,6 +195,7 @@ export type TtsRuntimeFacade = {
|
||||
cfg?: OpenClawConfig,
|
||||
) => boolean;
|
||||
listSpeechVoices: ListSpeechVoices;
|
||||
listTtsPersonas: (config: ResolvedTtsConfig) => ResolvedTtsPersona[];
|
||||
maybeApplyTtsToPayload: (params: MaybeApplyTtsToPayloadParams) => Promise<ReplyPayload>;
|
||||
resolveExplicitTtsOverrides: (params: ResolveExplicitTtsOverridesParams) => TtsDirectiveOverrides;
|
||||
resolveTtsAutoMode: (params: ResolveTtsAutoModeParams) => TtsAutoMode;
|
||||
@@ -199,6 +207,7 @@ export type TtsRuntimeFacade = {
|
||||
setTtsAutoMode: (prefsPath: string, mode: TtsAutoMode) => void;
|
||||
setTtsEnabled: (prefsPath: string, enabled: boolean) => void;
|
||||
setTtsMaxLength: (prefsPath: string, maxLength: number) => void;
|
||||
setTtsPersona: (prefsPath: string, persona: string | null | undefined) => void;
|
||||
setTtsProvider: (prefsPath: string, provider: TtsProvider) => void;
|
||||
synthesizeSpeech: (params: TtsRequestParams) => Promise<TtsSynthesisResult>;
|
||||
textToSpeech: TextToSpeech;
|
||||
|
||||
Reference in New Issue
Block a user