mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-05 22:00:21 +00:00
28 lines
790 B
TypeScript
28 lines
790 B
TypeScript
import type { OpenClawConfig } from "../config/config.js";
|
|
import { resolveAgentConfig } from "./agent-scope.js";
|
|
|
|
function trimNonEmpty(value: unknown): string | undefined {
|
|
if (typeof value !== "string") {
|
|
return undefined;
|
|
}
|
|
const trimmed = value.trim();
|
|
return trimmed.length > 0 ? trimmed : undefined;
|
|
}
|
|
|
|
export function resolveSystemPromptOverride(params: {
|
|
config?: OpenClawConfig;
|
|
agentId?: string;
|
|
}): string | undefined {
|
|
const config = params.config;
|
|
if (!config) {
|
|
return undefined;
|
|
}
|
|
const agentOverride = trimNonEmpty(
|
|
params.agentId ? resolveAgentConfig(config, params.agentId)?.systemPromptOverride : undefined,
|
|
);
|
|
if (agentOverride) {
|
|
return agentOverride;
|
|
}
|
|
return trimNonEmpty(config.agents?.defaults?.systemPromptOverride);
|
|
}
|