mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-20 09:31:54 -06:00
fix(cli): reject malformed infer model refs (#115225)
This commit is contained in:
committed by
GitHub
parent
b2859cec4b
commit
964c5abbde
@@ -16,8 +16,8 @@ import {
|
||||
formatEnvelopeForText,
|
||||
providerHasGenericConfig,
|
||||
providerSummaryText,
|
||||
requireProviderModelOverride,
|
||||
resolveLocalCapabilityRuntimeConfig,
|
||||
resolveModelRefOverride,
|
||||
} from "./shared.js";
|
||||
|
||||
async function closeEmbeddingProviderWithRetry(provider: {
|
||||
@@ -40,18 +40,19 @@ async function runMemoryEmbeddingCreate(params: {
|
||||
provider?: string;
|
||||
model?: string;
|
||||
}) {
|
||||
const modelRef = requireProviderModelOverride(params.model);
|
||||
const cfg = await resolveLocalCapabilityRuntimeConfig({
|
||||
commandName: "infer embedding create",
|
||||
targetIds: getMemoryEmbeddingCommandSecretTargetIds(),
|
||||
});
|
||||
const modelRef = resolveModelRefOverride(params.model);
|
||||
const requestedProvider = normalizeOptionalString(params.provider) || modelRef.provider || "auto";
|
||||
const requestedProvider =
|
||||
normalizeOptionalString(params.provider) || modelRef?.provider || "auto";
|
||||
const result = await createEmbeddingProvider({
|
||||
config: cfg,
|
||||
agentDir: resolveAgentDir(cfg, resolveDefaultAgentId(cfg)),
|
||||
provider: requestedProvider,
|
||||
fallback: "none",
|
||||
model: modelRef.model ?? "",
|
||||
model: modelRef?.model ?? "",
|
||||
});
|
||||
if (!result.provider) {
|
||||
throw new Error(result.providerUnavailableReason ?? "No embedding provider available.");
|
||||
|
||||
@@ -64,6 +64,7 @@ async function runImageGenerate(params: {
|
||||
output?: string;
|
||||
timeoutMs?: number;
|
||||
}) {
|
||||
requireProviderModelOverride(params.model);
|
||||
const cfg = await resolveLocalCapabilityRuntimeConfig({
|
||||
commandName: `infer ${params.capability}`,
|
||||
targetIds: getModelsCommandSecretTargetIds(),
|
||||
|
||||
@@ -109,6 +109,7 @@ async function runVideoGenerate(params: {
|
||||
watermark?: boolean;
|
||||
timeoutMs?: number;
|
||||
}) {
|
||||
requireProviderModelOverride(params.model);
|
||||
const cfg = await resolveLocalCapabilityRuntimeConfig({
|
||||
commandName: "infer video.generate",
|
||||
targetIds: getModelsCommandSecretTargetIds(),
|
||||
|
||||
Reference in New Issue
Block a user