mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-18 16:41:45 -06:00
be6ec97e11
* feat(model-catalog): declare provider default models * refactor(providers): source onboarding defaults from manifests * fix(cohere): remove unused model id export * fix(chutes): preserve public default model id * fix(model-catalog): accept provider default models
50 lines
1.8 KiB
TypeScript
50 lines
1.8 KiB
TypeScript
import {
|
|
buildManifestModelProviderConfig,
|
|
readManifestProviderDefaultModelRef,
|
|
} from "openclaw/plugin-sdk/provider-catalog-shared";
|
|
import type {
|
|
ModelDefinitionConfig,
|
|
ModelProviderConfig,
|
|
} from "openclaw/plugin-sdk/provider-model-shared";
|
|
import manifest from "./openclaw.plugin.json" with { type: "json" };
|
|
|
|
const FIREWORKS_MANIFEST_PROVIDER = buildManifestModelProviderConfig({
|
|
providerId: "fireworks",
|
|
catalog: manifest.modelCatalog.providers.fireworks,
|
|
});
|
|
export const FIREWORKS_DEFAULT_MODEL_REF = readManifestProviderDefaultModelRef(
|
|
manifest,
|
|
"fireworks",
|
|
)!;
|
|
|
|
export const FIREWORKS_BASE_URL = FIREWORKS_MANIFEST_PROVIDER.baseUrl;
|
|
export const FIREWORKS_DEFAULT_MODEL_ID = FIREWORKS_DEFAULT_MODEL_REF.slice("fireworks/".length);
|
|
|
|
function requireFireworksManifestModel(id: string): ModelDefinitionConfig {
|
|
const model = FIREWORKS_MANIFEST_PROVIDER.models.find((entry) => entry.id === id);
|
|
if (!model) {
|
|
throw new Error(`Missing Fireworks modelCatalog row ${id}`);
|
|
}
|
|
return model;
|
|
}
|
|
|
|
const FIREWORKS_DEFAULT_MODEL = requireFireworksManifestModel(FIREWORKS_DEFAULT_MODEL_ID);
|
|
|
|
export const FIREWORKS_DEFAULT_CONTEXT_WINDOW = FIREWORKS_DEFAULT_MODEL.contextWindow;
|
|
export const FIREWORKS_DEFAULT_MAX_TOKENS = FIREWORKS_DEFAULT_MODEL.maxTokens;
|
|
|
|
export function isFireworksCatalogModelId(modelId: string): boolean {
|
|
return FIREWORKS_MANIFEST_PROVIDER.models.some((model) => model.id === modelId);
|
|
}
|
|
|
|
export function buildFireworksCatalogModels(): ModelDefinitionConfig[] {
|
|
return FIREWORKS_MANIFEST_PROVIDER.models.map((model) => structuredClone(model));
|
|
}
|
|
|
|
export function buildFireworksProvider(): ModelProviderConfig {
|
|
return buildManifestModelProviderConfig({
|
|
providerId: "fireworks",
|
|
catalog: manifest.modelCatalog.providers.fireworks,
|
|
});
|
|
}
|