UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

144 lines (143 loc) 5.58 kB
import { t as definePluginEntry } from "../../plugin-entry-zfBGJaNO.js"; import { t as buildGoogleGeminiCliBackend } from "../../cli-backend-_dS2dNnJ.js"; import { n as registerGoogleGeminiCliProvider } from "../../gemini-cli-provider-B4ogMvUa.js"; import { c as createGoogleMusicGenerationProviderMetadata, l as createGoogleVideoGenerationProviderMetadata } from "../../generation-provider-metadata-DFHTgxtH.js"; import { t as geminiMemoryEmbeddingProviderAdapter } from "../../memory-embedding-adapter-ChM0oAou.js"; import { n as registerGoogleProvider } from "../../provider-registration-DXQgz6Es.js"; import { t as createLazyGoogleRealtimeVoiceProvider } from "../../realtime-voice-lazy-BOLOHwvt.js"; import { t as buildGoogleSpeechProvider } from "../../speech-provider-BdBWI69Y.js"; import { t as createGeminiWebSearchProvider } from "../../gemini-web-search-provider-BeX2RNTy.js"; //#region extensions/google/index.ts let googleImageGenerationProviderPromise = null; let googleMediaUnderstandingProviderPromise = null; let googleMusicGenerationProviderPromise = null; let googleVideoGenerationProviderPromise = null; async function loadGoogleImageGenerationProvider() { if (!googleImageGenerationProviderPromise) googleImageGenerationProviderPromise = import("./image-generation-provider.js").then((mod) => mod.buildGoogleImageGenerationProvider()); return await googleImageGenerationProviderPromise; } async function loadGoogleMediaUnderstandingProvider() { if (!googleMediaUnderstandingProviderPromise) googleMediaUnderstandingProviderPromise = import("./media-understanding-provider.js").then((mod) => mod.googleMediaUnderstandingProvider); return await googleMediaUnderstandingProviderPromise; } async function loadGoogleMusicGenerationProvider() { if (!googleMusicGenerationProviderPromise) googleMusicGenerationProviderPromise = import("./music-generation-provider.js").then((mod) => mod.buildGoogleMusicGenerationProvider()); return await googleMusicGenerationProviderPromise; } async function loadGoogleVideoGenerationProvider() { if (!googleVideoGenerationProviderPromise) googleVideoGenerationProviderPromise = import("./video-generation-provider.js").then((mod) => mod.buildGoogleVideoGenerationProvider()); return await googleVideoGenerationProviderPromise; } async function loadGoogleRequiredMediaUnderstandingProvider() { const provider = await loadGoogleMediaUnderstandingProvider(); if (!provider.transcribeAudio || !provider.describeVideo) throw new Error("google media understanding provider missing required handlers"); return provider; } function createLazyGoogleImageGenerationProvider() { return { id: "google", label: "Google", defaultModel: "gemini-3.1-flash-image", models: ["gemini-3.1-flash-image", "gemini-3-pro-image"], capabilities: { generate: { maxCount: 4, supportsSize: true, supportsAspectRatio: true, supportsResolution: true }, edit: { enabled: true, maxCount: 4, maxInputImages: 5, supportsSize: true, supportsAspectRatio: true, supportsResolution: true }, geometry: { sizes: [ "1024x1024", "1024x1536", "1536x1024", "1024x1792", "1792x1024" ], aspectRatios: [ "1:1", "2:3", "3:2", "3:4", "4:3", "4:5", "5:4", "9:16", "16:9", "21:9" ], resolutions: [ "1K", "2K", "4K" ] } }, generateImage: async (req) => (await loadGoogleImageGenerationProvider()).generateImage(req) }; } function createLazyGoogleMediaUnderstandingProvider() { return { id: "google", capabilities: [ "image", "audio", "video" ], defaultModels: { image: "gemini-3-flash-preview", audio: "gemini-3-flash-preview", video: "gemini-3-flash-preview" }, autoPriority: { image: 30, audio: 40, video: 10 }, nativeDocumentInputs: ["pdf"], describeImage: void 0, describeImages: void 0, transcribeAudio: async (...args) => await (await loadGoogleRequiredMediaUnderstandingProvider()).transcribeAudio(...args), describeVideo: async (...args) => await (await loadGoogleRequiredMediaUnderstandingProvider()).describeVideo(...args) }; } function createLazyGoogleMusicGenerationProvider() { return { ...createGoogleMusicGenerationProviderMetadata(), generateMusic: async (...args) => await (await loadGoogleMusicGenerationProvider()).generateMusic(...args) }; } function createLazyGoogleVideoGenerationProvider() { return { ...createGoogleVideoGenerationProviderMetadata(), generateVideo: async (...args) => await (await loadGoogleVideoGenerationProvider()).generateVideo(...args) }; } var google_default = definePluginEntry({ id: "google", name: "Google Plugin", description: "Bundled Google plugin", register(api) { api.registerCliBackend(buildGoogleGeminiCliBackend()); registerGoogleGeminiCliProvider(api); registerGoogleProvider(api); api.registerEmbeddingProvider(geminiMemoryEmbeddingProviderAdapter); api.registerImageGenerationProvider(createLazyGoogleImageGenerationProvider()); api.registerMediaUnderstandingProvider(createLazyGoogleMediaUnderstandingProvider()); api.registerMusicGenerationProvider(createLazyGoogleMusicGenerationProvider()); api.registerRealtimeVoiceProvider(createLazyGoogleRealtimeVoiceProvider()); api.registerSpeechProvider(buildGoogleSpeechProvider()); api.registerVideoGenerationProvider(createLazyGoogleVideoGenerationProvider()); api.registerWebSearchProvider(createGeminiWebSearchProvider()); } }); //#endregion export { google_default as default };