UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

35 lines (34 loc) • 1.55 kB
import { L as sanitizeGoogleThinkingPayload, f as createPayloadPatchStreamWrapper } from "./provider-stream-shared-C8xSwqvp.mjs"; import { r as buildProviderReplayFamilyHooks } from "./provider-model-shared-C5gOQ-11.mjs"; import { r as buildProviderToolCompatFamilyHooks } from "./provider-tools-DajrfQK1.mjs"; import { t as stripGoogleProviderPrefix } from "./model-id-CPDOOOMu.mjs"; import { i as resolveGoogleThinkingProfile } from "./provider-policy-4Ba5tPL0.mjs"; import "./thinking-api-Bgq_TyPf.mjs"; //#region extensions/google/provider-hooks.ts function classifyGoogleFailoverCode(code) { switch (code?.trim().toUpperCase()) { case "UNAVAILABLE": return "overloaded"; case "DEADLINE_EXCEEDED": return "timeout"; case "INTERNAL": return "server_error"; default: return; } } function wrapGoogleThinkingStream(ctx) { return createPayloadPatchStreamWrapper(ctx.streamFn, ({ payload, model }) => { if (model.api !== "google-generative-ai" && model.api !== "google-vertex") return; sanitizeGoogleThinkingPayload({ payload, modelId: stripGoogleProviderPrefix(model.id).replace(/^models\//u, ""), thinkingLevel: ctx.thinkingLevel }); }); } const GOOGLE_GEMINI_PROVIDER_HOOKS = { ...buildProviderReplayFamilyHooks({ family: "google-gemini" }), ...buildProviderToolCompatFamilyHooks("gemini"), resolveThinkingProfile: resolveGoogleThinkingProfile, wrapStreamFn: wrapGoogleThinkingStream, classifyFailoverReason: ({ code }) => classifyGoogleFailoverCode(code) }; //#endregion export { GOOGLE_GEMINI_PROVIDER_HOOKS as t };