mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-12 21:53:00 -06:00
5b29a1e278
* refactor(providers): consolidate sibling adapters * fix(providers): preserve concrete plugin entry type
43 lines
1.8 KiB
TypeScript
43 lines
1.8 KiB
TypeScript
// Volcengine plugin entrypoint registers its OpenClaw integration.
|
|
import { buildOpenAICompatibleProviderFamilyCatalog } from "openclaw/plugin-sdk/provider-catalog-live-runtime";
|
|
import { readManifestProviderDefaultModelRef } from "openclaw/plugin-sdk/provider-catalog-shared";
|
|
import { defineSingleProviderPluginEntry } from "openclaw/plugin-sdk/provider-entry";
|
|
import { ensureModelAllowlistEntry } from "openclaw/plugin-sdk/provider-onboard";
|
|
import { applyVolcengineToolSchemaCompat } from "./api.js";
|
|
import { VOLCENGINE_PROVIDER_CATALOG } from "./models.js";
|
|
import manifest from "./openclaw.plugin.json" with { type: "json" };
|
|
import { buildVolcengineSpeechProvider } from "./speech-provider.js";
|
|
|
|
const PROVIDER_ID = "volcengine";
|
|
const VOLCENGINE_DEFAULT_MODEL_REF = readManifestProviderDefaultModelRef(
|
|
manifest,
|
|
"volcengine-plan",
|
|
)!;
|
|
|
|
export default defineSingleProviderPluginEntry({
|
|
id: PROVIDER_ID,
|
|
name: "Volcengine Provider",
|
|
description: "Bundled Volcengine provider plugin",
|
|
manifest,
|
|
provider: {
|
|
label: "Volcengine",
|
|
docsPath: "/concepts/model-providers#volcano-engine-doubao",
|
|
hookAliases: ["volcengine-plan"],
|
|
manifestAuth: {
|
|
defaultModel: VOLCENGINE_DEFAULT_MODEL_REF,
|
|
applyConfig: (cfg) =>
|
|
ensureModelAllowlistEntry({ cfg, modelRef: VOLCENGINE_DEFAULT_MODEL_REF }),
|
|
},
|
|
...buildOpenAICompatibleProviderFamilyCatalog({
|
|
credentialProviderId: PROVIDER_ID,
|
|
entries: VOLCENGINE_PROVIDER_CATALOG.entries,
|
|
staticCatalog: VOLCENGINE_PROVIDER_CATALOG.staticCatalog,
|
|
augmentModelCatalog: VOLCENGINE_PROVIDER_CATALOG.augmentModelCatalog,
|
|
}),
|
|
normalizeResolvedModel: ({ model }) => applyVolcengineToolSchemaCompat(model),
|
|
},
|
|
register(api) {
|
|
api.registerSpeechProvider(buildVolcengineSpeechProvider());
|
|
},
|
|
});
|