Files
openclaw/src/agents/system-prompt-override.ts
2026-04-07 07:34:50 +01:00

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);
}