From bee333f2cce35502964a3146058d5a24e8a351bd Mon Sep 17 00:00:00 2001 From: Danny Avila Date: Wed, 11 Mar 2026 22:35:11 -0400 Subject: [PATCH] refactor(agents): enhance summarization configuration resolution in createRun function Streamlined the summarization configuration logic by introducing a base configuration and allowing for overrides from agent-specific settings. This change improves clarity and maintainability, ensuring that the summarization configuration is consistently applied while retaining flexibility for customization. Updated the handling of summarization parameters to ensure proper integration with the agent's model and provider settings. --- packages/api/src/agents/run.ts | 56 +++++++++++++++++----------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/packages/api/src/agents/run.ts b/packages/api/src/agents/run.ts index 4c8af970db..426748d040 100644 --- a/packages/api/src/agents/run.ts +++ b/packages/api/src/agents/run.ts @@ -253,15 +253,19 @@ export async function createRun({ ] as unknown as string) ?? agent.provider; const selfModel = agent.model_parameters?.model ?? (agent.model as string | undefined); - const resolvedSummarizationConfig: SummarizationConfig | undefined = agent.summarization ?? - summarizationConfig ?? { - enabled: true, - provider: selfProvider, - model: selfModel, - }; + const baseSummarizationConfig: SummarizationConfig = { + enabled: true, + provider: selfProvider, + model: selfModel, + }; + const overrideConfig = agent.summarization ?? summarizationConfig; + const resolvedSummarizationConfig: SummarizationConfig = + overrideConfig != null + ? { ...baseSummarizationConfig, ...overrideConfig } + : baseSummarizationConfig; - const resolvedSummarizationProvider = resolvedSummarizationConfig?.provider; - const resolvedSummarizationModel = resolvedSummarizationConfig?.model; + const resolvedSummarizationProvider = resolvedSummarizationConfig.provider; + const resolvedSummarizationModel = resolvedSummarizationConfig.model; const hasSummarizationProvider = typeof resolvedSummarizationProvider === 'string' && resolvedSummarizationProvider.trim().length > 0; @@ -370,29 +374,25 @@ export async function createRun({ useLegacyContent: agent.useLegacyContent ?? false, discoveredTools: discoveredTools.size > 0 ? Array.from(discoveredTools) : undefined, summarizationEnabled: - resolvedSummarizationConfig != null && resolvedSummarizationConfig.enabled !== false && hasSummarizationProvider && hasSummarizationModel, - summarizationConfig: resolvedSummarizationConfig - ? ({ - trigger: - resolvedSummarizationConfig.trigger?.type && - resolvedSummarizationConfig.trigger?.value - ? { - type: resolvedSummarizationConfig.trigger.type, - value: resolvedSummarizationConfig.trigger.value, - } - : undefined, - provider: resolvedSummarizationConfig.provider, - model: resolvedSummarizationConfig.model, - parameters: resolvedSummarizationConfig.parameters, - prompt: resolvedSummarizationConfig.prompt, - updatePrompt: resolvedSummarizationConfig.updatePrompt, - reserveRatio: resolvedSummarizationConfig.reserveRatio, - maxSummaryTokens: resolvedSummarizationConfig.maxSummaryTokens, - } satisfies AgentSummarizationConfig) - : undefined, + summarizationConfig: { + trigger: + resolvedSummarizationConfig.trigger?.type && resolvedSummarizationConfig.trigger?.value + ? { + type: resolvedSummarizationConfig.trigger.type, + value: resolvedSummarizationConfig.trigger.value, + } + : undefined, + provider: resolvedSummarizationConfig.provider, + model: resolvedSummarizationConfig.model, + parameters: resolvedSummarizationConfig.parameters, + prompt: resolvedSummarizationConfig.prompt, + updatePrompt: resolvedSummarizationConfig.updatePrompt, + reserveRatio: resolvedSummarizationConfig.reserveRatio, + maxSummaryTokens: resolvedSummarizationConfig.maxSummaryTokens, + } satisfies AgentSummarizationConfig, initialSummary, contextPruningConfig: resolvedSummarizationConfig?.contextPruning as | ContextPruningConfig