mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-08 22:58:26 +00:00
refactor(agents): centralize model fallback resolution
This commit is contained in:
@@ -1,14 +1,13 @@
|
||||
import { randomBytes } from "node:crypto";
|
||||
import fs from "node:fs/promises";
|
||||
import type { ThinkLevel } from "../../auto-reply/thinking.js";
|
||||
import { resolveAgentModelFallbackValues } from "../../config/model-input.js";
|
||||
import { generateSecureToken } from "../../infra/secure-random.js";
|
||||
import { getGlobalHookRunner } from "../../plugins/hook-runner-global.js";
|
||||
import type { PluginHookBeforeAgentStartResult } from "../../plugins/types.js";
|
||||
import { enqueueCommandInLane } from "../../process/command-queue.js";
|
||||
import { isMarkdownCapableMessageChannel } from "../../utils/message-channel.js";
|
||||
import { resolveOpenClawAgentDir } from "../agent-paths.js";
|
||||
import { resolveAgentModelFallbacksOverride } from "../agent-scope.js";
|
||||
import { hasConfiguredModelFallbacks } from "../agent-scope.js";
|
||||
import {
|
||||
isProfileInCooldown,
|
||||
markAuthProfileFailure,
|
||||
@@ -232,15 +231,11 @@ export async function runEmbeddedPiAgent(
|
||||
let provider = (params.provider ?? DEFAULT_PROVIDER).trim() || DEFAULT_PROVIDER;
|
||||
let modelId = (params.model ?? DEFAULT_MODEL).trim() || DEFAULT_MODEL;
|
||||
const agentDir = params.agentDir ?? resolveOpenClawAgentDir();
|
||||
const agentFallbacksOverride =
|
||||
params.config && params.agentId
|
||||
? resolveAgentModelFallbacksOverride(params.config, params.agentId)
|
||||
: undefined;
|
||||
const fallbackConfigured =
|
||||
(
|
||||
agentFallbacksOverride ??
|
||||
resolveAgentModelFallbackValues(params.config?.agents?.defaults?.model)
|
||||
).length > 0;
|
||||
const fallbackConfigured = hasConfiguredModelFallbacks({
|
||||
cfg: params.config,
|
||||
agentId: params.agentId,
|
||||
sessionKey: params.sessionKey,
|
||||
});
|
||||
await ensureOpenClawModelsJson(params.config, agentDir);
|
||||
|
||||
// Run before_model_resolve hooks early so plugins can override the
|
||||
|
||||
Reference in New Issue
Block a user