UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

63 lines (62 loc) 2.42 kB
import { a as normalizeLowercaseStringOrEmpty } from "../../string-coerce-mnp54Vah.js"; import { t as applyModelCompatPatch } from "../../provider-model-compat-DhKi-Qv5.js"; import "../../string-coerce-runtime-CEGJWkQ_.js"; import "../../provider-model-shared-D-lyTLvb.js"; import { t as defineSingleProviderPluginEntry } from "../../provider-entry-Dh06UXOP.js"; import { n as VENICE_DEFAULT_MODEL_REF } from "../../models-swYCsLYS.js"; import { t as buildVeniceProvider } from "../../provider-catalog-DqrV0T9B.js"; import { t as applyVeniceConfig } from "../../onboard-2uyC0WXN.js"; import { t as createVeniceDeepSeekV4Wrapper } from "../../stream-CMsqOPSJ.js"; //#region extensions/venice/index.ts const PROVIDER_ID = "venice"; const XAI_UNSUPPORTED_SCHEMA_KEYWORDS = [ "minLength", "maxLength", "minItems", "maxItems", "minContains", "maxContains" ]; function applyXaiModelCompat(model) { return applyModelCompatPatch(model, { toolSchemaProfile: "xai", unsupportedToolSchemaKeywords: [...XAI_UNSUPPORTED_SCHEMA_KEYWORDS], nativeWebSearchTool: true, toolCallArgumentsEncoding: "html-entities" }); } function isXaiBackedVeniceModel(modelId) { return normalizeLowercaseStringOrEmpty(modelId).includes("grok"); } var venice_default = defineSingleProviderPluginEntry({ id: PROVIDER_ID, name: "Venice Provider", description: "Bundled Venice provider plugin", provider: { label: "Venice", docsPath: "/providers/venice", auth: [{ methodId: "api-key", label: "Venice AI API key", hint: "Privacy-focused (uncensored models)", optionKey: "veniceApiKey", flagName: "--venice-api-key", envVar: "VENICE_API_KEY", promptMessage: "Enter Venice AI API key", defaultModel: VENICE_DEFAULT_MODEL_REF, applyConfig: (cfg) => applyVeniceConfig(cfg), noteMessage: [ "Venice AI provides privacy-focused inference with uncensored models.", "Get your API key at: https://venice.ai/settings/api", "Supports 'private' (fully private) and 'anonymized' (proxy) modes." ].join("\n"), noteTitle: "Venice AI", wizard: { groupLabel: "Venice AI" } }], catalog: { buildProvider: buildVeniceProvider }, normalizeResolvedModel: ({ modelId, model }) => isXaiBackedVeniceModel(modelId) ? applyXaiModelCompat(model) : void 0, wrapStreamFn: (ctx) => createVeniceDeepSeekV4Wrapper(ctx.streamFn, ctx.thinkingLevel) } }); //#endregion export { venice_default as default };