Merge branch 'main' into feature/arena-agent-collaboration

This commit is contained in:
tanzhenxin 2026-02-28 22:01:10 +08:00
commit 74b342623c
172 changed files with 12390 additions and 3258 deletions

View file

@ -386,7 +386,6 @@ export interface ConfigParameters {
skipNextSpeakerCheck?: boolean;
shellExecutionConfig?: ShellExecutionConfig;
skipLoopDetection?: boolean;
vlmSwitchMode?: string;
truncateToolOutputThreshold?: number;
truncateToolOutputLines?: number;
enableToolOutputTruncation?: boolean;
@ -402,6 +401,8 @@ export interface ConfigParameters {
modelProvidersConfig?: ModelProvidersConfig;
/** Multi-agent collaboration settings (Arena, Team, Swarm) */
agents?: AgentsCollabSettings;
/** Warnings generated during configuration resolution */
warnings?: string[];
}
function normalizeConfigOutputFormat(
@ -535,7 +536,7 @@ export class Config {
private readonly agentsSettings: AgentsCollabSettings;
private readonly skipLoopDetection: boolean;
private readonly skipStartupContext: boolean;
private readonly vlmSwitchMode: string | undefined;
private readonly warnings: string[];
private initialized: boolean = false;
readonly storage: Storage;
private readonly fileExclusions: FileExclusions;
@ -637,6 +638,7 @@ export class Config {
this.trustedFolder = params.trustedFolder;
this.skipLoopDetection = params.skipLoopDetection ?? false;
this.skipStartupContext = params.skipStartupContext ?? false;
this.warnings = params.warnings ?? [];
// Web search
this.webSearch = params.webSearch;
@ -659,7 +661,6 @@ export class Config {
this.channel = params.channel;
this.defaultFileEncoding = params.defaultFileEncoding ?? FileEncoding.UTF8;
this.storage = new Storage(this.targetDir);
this.vlmSwitchMode = params.vlmSwitchMode;
this.inputFormat = params.inputFormat ?? InputFormat.TEXT;
this.fileExclusions = new FileExclusions(this);
this.eventEmitter = params.eventEmitter;
@ -871,6 +872,15 @@ export class Config {
return this.sessionId;
}
/**
* Returns warnings generated during configuration resolution.
* These warnings are collected from model configuration resolution
* and should be displayed to the user during startup.
*/
getWarnings(): string[] {
return this.warnings;
}
getDebugLogger(): DebugLogger {
return this.debugLogger;
}
@ -1626,10 +1636,6 @@ export class Config {
return this.skipStartupContext;
}
getVlmSwitchMode(): string | undefined {
return this.vlmSwitchMode;
}
getEnableToolOutputTruncation(): boolean {
return this.enableToolOutputTruncation;
}