openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
41 lines (40 loc) • 1.41 kB
JavaScript
//#region extensions/openai/realtime-quicksilver.ts
const OPENAI_GPT_LIVE_MODEL_PREFIX = "gpt-live";
const OPENAI_GPT_LIVE_MODELS = ["gpt-live-1-codex"];
const OPENAI_GPT_LIVE_VOICES = [
"arbor",
"breeze",
"cove",
"ember",
"juniper",
"maple",
"sol",
"spruce",
"vale"
];
const OPENAI_GPT_LIVE_DEFAULT_VOICE = "cove";
function resolveOpenAIQuicksilverVoice(value) {
if (typeof value === "string") {
const normalized = value.trim().toLowerCase();
return OPENAI_GPT_LIVE_VOICES.find((voice) => voice === normalized) ?? "cove";
}
return OPENAI_GPT_LIVE_DEFAULT_VOICE;
}
function isOpenAIGptLiveModel(model) {
if (!model) return false;
const normalized = model.trim().toLowerCase();
return normalized === OPENAI_GPT_LIVE_MODEL_PREFIX || normalized.startsWith(`${OPENAI_GPT_LIVE_MODEL_PREFIX}-`);
}
function isSupportedOpenAIGptLiveModel(model) {
if (!model) return false;
const normalized = model.trim().toLowerCase();
return OPENAI_GPT_LIVE_MODELS.includes(normalized);
}
const OPENAI_QUICKSILVER_CAPABILITIES = {
transports: ["webrtc", "gateway-relay"],
handlesAgentConsult: true,
supportsToolCalls: false,
supportsVideoFrames: false
};
//#endregion
export { isOpenAIGptLiveModel as a, OPENAI_QUICKSILVER_CAPABILITIES as i, OPENAI_GPT_LIVE_MODELS as n, isSupportedOpenAIGptLiveModel as o, OPENAI_GPT_LIVE_VOICES as r, resolveOpenAIQuicksilverVoice as s, OPENAI_GPT_LIVE_DEFAULT_VOICE as t };