mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-08 07:51:26 +00:00
feat(config): default thinking for sessions_spawn subagents (#7372)
* feat(config): add subagent default thinking * fix: accept config subagents.thinking + stabilize test mocks (#7372) (thanks @tyler6204) * fix: use findLast instead of clearAllMocks in test (#7372) * fix: correct test assertions for tool result structure (#7372) * fix: remove unnecessary type assertion after rebase
This commit is contained in:
@@ -172,15 +172,21 @@ export function createSessionsSpawnTool(opts?: {
|
||||
normalizeModelSelection(modelOverride) ??
|
||||
normalizeModelSelection(targetAgentConfig?.subagents?.model) ??
|
||||
normalizeModelSelection(cfg.agents?.defaults?.subagents?.model);
|
||||
|
||||
const resolvedThinkingDefaultRaw =
|
||||
readStringParam(targetAgentConfig?.subagents ?? {}, "thinking") ??
|
||||
readStringParam(cfg.agents?.defaults?.subagents ?? {}, "thinking");
|
||||
|
||||
let thinkingOverride: string | undefined;
|
||||
if (thinkingOverrideRaw) {
|
||||
const normalized = normalizeThinkLevel(thinkingOverrideRaw);
|
||||
const thinkingCandidateRaw = thinkingOverrideRaw || resolvedThinkingDefaultRaw;
|
||||
if (thinkingCandidateRaw) {
|
||||
const normalized = normalizeThinkLevel(thinkingCandidateRaw);
|
||||
if (!normalized) {
|
||||
const { provider, model } = splitModelRef(resolvedModel);
|
||||
const hint = formatThinkingLevels(provider, model);
|
||||
return jsonResult({
|
||||
status: "error",
|
||||
error: `Invalid thinking level "${thinkingOverrideRaw}". Use one of: ${hint}.`,
|
||||
error: `Invalid thinking level "${thinkingCandidateRaw}". Use one of: ${hint}.`,
|
||||
});
|
||||
}
|
||||
thinkingOverride = normalized;
|
||||
|
||||
Reference in New Issue
Block a user