UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

72 lines (71 loc) 3.73 kB
import { t as definePluginEntry } from "../../plugin-entry-zfBGJaNO.js"; import { r as resolvePluginConfigObject } from "../../plugin-config-runtime-BaaMs-tR.js"; import { r as buildProviderToolCompatFamilyHooks } from "../../provider-tools-D4EQoyQM.js"; import { t as buildOpenAIImageGenerationProvider } from "../../image-generation-provider-DHRW5EKN.js"; import { t as openaiMediaUnderstandingProvider } from "../../media-understanding-provider-DqTjgxX_.js"; import { t as openAiMemoryEmbeddingProviderAdapter } from "../../memory-embedding-adapter-sx5rb2uP.js"; import { t as buildOpenAIProvider } from "../../openai-provider-C6l7s5CQ.js"; import { n as resolveOpenAISystemPromptContribution, t as resolveOpenAIPromptOverlayMode } from "../../prompt-overlay-CNW-1vy9.js"; import { t as OPENAI_QUICKSILVER_OFFER_PATH } from "../../realtime-quicksilver-session-Bi_cWMuW.js"; import { n as releaseOpenAIQuicksilverBrowserSessionBroker, t as acquireOpenAIQuicksilverBrowserSessionBroker } from "../../realtime-quicksilver-session-owner-CNXtSiUN.js"; import { t as buildOpenAIRealtimeTranscriptionProvider } from "../../realtime-transcription-provider-CQIooxAH.js"; import { t as buildOpenAIRealtimeVoiceProvider } from "../../realtime-voice-provider-7Gxsnrk3.js"; import { t as buildOpenAISpeechProvider } from "../../speech-provider-f2-uJTeC.js"; import { t as buildOpenAIVideoGenerationProvider } from "../../video-generation-provider-6MA4CfJt.js"; //#region extensions/openai/index.ts var openai_default = definePluginEntry({ id: "openai", name: "OpenAI Provider", description: "Bundled OpenAI provider plugins", register(api) { const quicksilverSession = api.registrationMode === "full" ? acquireOpenAIQuicksilverBrowserSessionBroker({ getConfig: () => api.runtime.config.current(), logger: api.logger }) : void 0; if (quicksilverSession) { api.registerHttpRoute({ path: OPENAI_QUICKSILVER_OFFER_PATH, auth: "plugin", match: "exact", handler: quicksilverSession.handler }); api.lifecycle.registerRuntimeLifecycle({ id: "openai-quicksilver-realtime-browser-session", description: "Close OpenAI browser sidebands when the plugin stops", cleanup: (ctx) => { if (ctx.reason !== "disable") return; return releaseOpenAIQuicksilverBrowserSessionBroker(quicksilverSession); } }); } const openAIToolCompatHooks = buildProviderToolCompatFamilyHooks("openai"); const buildProviderWithPromptContribution = (provider) => ({ ...provider, ...openAIToolCompatHooks, resolveSystemPromptContribution: (ctx) => { const pluginConfig = resolvePluginConfigObject(ctx.config, "openai") ?? (ctx.config ? void 0 : api.pluginConfig); return resolveOpenAISystemPromptContribution({ config: ctx.config, legacyPluginConfig: pluginConfig, mode: resolveOpenAIPromptOverlayMode(pluginConfig), modelProviderId: provider.id, modelId: ctx.modelId, trigger: ctx.trigger }); } }); api.registerProvider(buildProviderWithPromptContribution(buildOpenAIProvider())); api.registerEmbeddingProvider(openAiMemoryEmbeddingProviderAdapter); api.registerImageGenerationProvider(buildOpenAIImageGenerationProvider()); api.registerRealtimeTranscriptionProvider(buildOpenAIRealtimeTranscriptionProvider()); api.registerRealtimeVoiceProvider(buildOpenAIRealtimeVoiceProvider({ quicksilverBrowserSessionBroker: quicksilverSession?.broker, logger: api.logger })); api.registerSpeechProvider(buildOpenAISpeechProvider()); api.registerMediaUnderstandingProvider(openaiMediaUnderstandingProvider); api.registerVideoGenerationProvider(buildOpenAIVideoGenerationProvider()); } }); //#endregion export { openai_default as default };