Files
fusion/packages/dashboard/app/utils/modelPresets.ts
gsxdsm fc0411713c feat(KB-330): rename internal packages from @kb/* to @fusion/*
- Rename @kb/core, @kb/dashboard, @kb/engine to @fusion/* namespace
- Update all import statements across 143+ files to use new package names
- Update workspace dependencies and root package.json references
- Fix bundler configurations (tsup, vite) for new package names
- Update test files and fix typecheck issues
- Add changeset file documenting the package rename
2026-03-31 13:33:44 -07:00

48 lines
1.4 KiB
TypeScript

import type { ModelPreset } from "@fusion/core";
export function getPresetByName(presets: ModelPreset[], name: string): ModelPreset | undefined {
const normalizedName = name.trim().toLowerCase();
return presets.find((preset) => preset.name.trim().toLowerCase() === normalizedName);
}
export function applyPresetToSelection(preset: ModelPreset | undefined): {
executorValue: string;
validatorValue: string;
} {
return {
executorValue: preset?.executorProvider && preset?.executorModelId
? `${preset.executorProvider}/${preset.executorModelId}`
: "",
validatorValue: preset?.validatorProvider && preset?.validatorModelId
? `${preset.validatorProvider}/${preset.validatorModelId}`
: "",
};
}
export function getRecommendedPresetForSize(
size: "S" | "M" | "L" | undefined,
defaultPresetBySize: Record<string, string>,
presets: ModelPreset[],
): ModelPreset | undefined {
if (!size) return undefined;
const presetId = defaultPresetBySize[size];
if (!presetId) return undefined;
return presets.find((preset) => preset.id === presetId);
}
export function validatePresetId(id: string): boolean {
return /^[A-Za-z0-9_-]{1,32}$/.test(id);
}
export function generatePresetId(name: string): string {
const slug = name
.trim()
.toLowerCase()
.replace(/[^a-z0-9_-]+/g, "-")
.replace(/-+/g, "-")
.replace(/^[-_]+|[-_]+$/g, "")
.slice(0, 32);
return slug || "preset";
}