openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
67 lines (66 loc) • 2.12 kB
JavaScript
import { t as defineSingleProviderPluginEntry } from "../../provider-entry-Dh06UXOP.js";
import { a as buildSelectableLiveNvidiaProvider, i as buildNvidiaProvider, r as buildLiveNvidiaProvider } from "../../provider-catalog-BKAVsYVw.js";
import { n as applyNvidiaConfig, t as NVIDIA_DEFAULT_MODEL_REF } from "../../onboard-Ccw--5wd.js";
//#region extensions/nvidia/index.ts
const PROVIDER_ID = "nvidia";
function hasNvidiaApiToken(ctx) {
return Boolean(ctx.resolveProviderApiKey?.(PROVIDER_ID).apiKey?.trim() || ctx.env.NVIDIA_API_KEY?.trim());
}
async function buildNvidiaCatalogModels(ctx) {
return (hasNvidiaApiToken(ctx) ? await buildLiveNvidiaProvider() : buildNvidiaProvider()).models.map((model) => ({
provider: PROVIDER_ID,
id: model.id,
name: model.name ?? model.id,
contextWindow: model.contextWindow,
reasoning: model.reasoning,
input: model.input
}));
}
var nvidia_default = defineSingleProviderPluginEntry({
id: PROVIDER_ID,
name: "NVIDIA Provider",
description: "Bundled NVIDIA provider plugin",
provider: {
label: "NVIDIA",
docsPath: "/providers/nvidia",
envVars: ["NVIDIA_API_KEY"],
preserveLiteralProviderPrefix: true,
auth: [{
methodId: "api-key",
label: "NVIDIA API key",
hint: "Direct API key",
optionKey: "nvidiaApiKey",
flagName: "--nvidia-api-key",
envVar: "NVIDIA_API_KEY",
promptMessage: "Enter NVIDIA API key",
defaultModel: NVIDIA_DEFAULT_MODEL_REF,
applyConfig: applyNvidiaConfig
}],
catalog: {
buildProvider: buildSelectableLiveNvidiaProvider,
buildStaticProvider: buildNvidiaProvider
},
augmentModelCatalog: buildNvidiaCatalogModels,
wizard: {
setup: {
choiceId: "nvidia-api-key",
choiceLabel: "NVIDIA API key",
groupId: "nvidia",
groupLabel: "NVIDIA",
groupHint: "Direct API key",
methodId: "api-key",
modelSelection: {
promptWhenAuthChoiceProvided: true,
allowKeepCurrent: false
}
},
modelPicker: {
label: "NVIDIA (custom)",
hint: "Use NVIDIA-hosted open models",
methodId: "api-key"
}
}
}
});
//#endregion
export { nvidia_default as default };